并行执行linux命令,Linux使用并行进程来加快命令执行速度

  • Post author:
  • Post category:linux


如今,计算机性能得到了极大的提高,但是如果您有一个程序需要大量计算并且仅在一个内核上运行,则其他内核将处于空闲状态。如果要提高速度,该软件必须注意并充分利用大内核。

接下来,让我们看一下如何使命令运行更快。

我们可以使用以下脚本来运行md5sum的多个实例。

#!/ bin / bash

#filename:checksums.sh

668c8a418d2bbf4a3fd0b11be85ad705.png

PIDNUM =()

用于查找文件。 -maxdepth 1 -type f`#

md5sum $ file&

PIDNUM + =(“ $!”)

完成

等待$ {PIDNUM [@]}

运行脚本后,它将在当前目录级别找到所有文件,并计算文件的md5值。

8f809a5a8f9bdd7bac302a70c88f09b6.png

输出结果与以下命令的结果相同:

#md5sum file1 file2 file3

但是,因为同时运行多个md5sum命令,所以如果使用多核处理器,则可以更快地得到结果(可以使用time命令进行验证)

工作原理:

我们使用了Bash运算符&,使外壳程序将命令放在后台并继续执行脚本。循环结束后,脚本将退出,但md5sum命令仍在后台运行。为了避免这种情况,我们使用$!获取过程的PID。在Bash中,$!存储最新进程的PID。我们将这些PID放入数组中,然后使用wait命令等待这些过程结束。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/bofangqi/article-357218-1.html