博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 利用并行进程加速命令执行
阅读量:5818 次
发布时间:2019-06-18

本文共 619 字,大约阅读时间需要 2 分钟。

hot3.png

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

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

我们可以使用下面的脚本来运行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命令等待这些进程结束。

转载于:https://my.oschina.net/u/3157270/blog/847133

你可能感兴趣的文章
学生名单
查看>>
(转) 多模态机器翻译
查看>>
【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档
查看>>
矩阵常用归一化
查看>>
Oracle常用函数总结
查看>>
【聚能聊有奖话题】Boring隧道掘进机完成首段挖掘,离未来交通还有多远?
查看>>
USNews大学排名遭美国计算机研究学会怒怼,指排名荒谬要求撤回
查看>>
七大关键数据 移动安全迎来历史转折点
查看>>
盘点物联网网关现有联网技术及应用场景
查看>>
mui 总结2--新建第一个app项目
查看>>
nginx的lua api
查看>>
考研太苦逼没坚持下来!看苑老师视频有点上头
查看>>
HCNA——RIP的路由汇总
查看>>
zabbix监控php状态(四)
查看>>
定时任务的创建
查看>>
实战Django:小型CMS Part2
查看>>
原创]windows server 2012 AD架构试验系列 – 16更改DC计算机名
查看>>
统治世界的十大算法
查看>>
linux svn安装和配置
查看>>
SSH中调用另一action的方法(chain,redirect)
查看>>