linux给进程加速,Linux 利用并行进程加速命令执行

现在,计算机能力有了大幅度的提升,但是如果你有一个需要大量运算的程序,仅仅运行在一个核心上,那么其他的核心都会被闲置。如果想提高速度,软件必须留意并充分利用大核心。

下面,我门看一下如何让命令运行得更快。

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

#!/bin/bash

#filename: checksums.sh

PIDNUM=()

for file in `find . -maxdepth 1 -type f`

do

md5sum $file &

PIDNUM+=("$!")

done

wait ${PIDNUM[@]}

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

输出结果和下面的命令结果一样:

# md5sum file1 file2 file3

但是因为多个md5sum命令是同时运行的,如果你使用的是多核处理器,就会更快的获得运行结果(可以使用time命令来验证)

工作原理:

我们利用了Bash的操作符&,它使得shell将命令放到后台并继续执行脚本。一旦循环结束,脚本就会退出,但是md5sum命令仍在后台运行。为了避免这种情况,我们使用$!来获得进程的PID,在Bash中,$!保存着最近一个进程的PID。我们将这些PID放到数组里,然后使用wait命令等待这些进程结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值