实践杂谈(1)—— Bash脚本实现并行化和进程数控制

本文介绍了如何使用Bash脚本实现并行化处理,包括通过FIFO命名管道控制进程数和利用xargs进行高效并行化。详细解释了FIFO的工作原理和xargs的使用方法,提供了示例代码和应用场景。
摘要由CSDN通过智能技术生成

在项目过程中,我们常常需要对大量文件进行批量处理。然而,如果每个文件都需要一定的处理时间,而文件数量又很大,逐个的处理会耗费大量的时间,大大影响工作的效率。这时,如果各个文件的处理是相互独立的话,我们自然希望多个文件能够并行化地进行处理,最大限度地利用计算机资源来提高工作效率。

本文介绍两种最为常见的利用Bash脚本实现并行化的方法。值得一提的是,由于硬件条件的限制,我们通常会对并行化的进程数目进行控制。(博主便曾因为占用太多公共资源而遭到投诉了。。)

——————————————————————————————————————————————————————

  1. 后台 —— 最朴素的并行化
  2. FIFO —— 常见的进程控制方法
  3. xargs —— 逆天的方法

1. 后台操作

在linux中,由于后台运行的进程不会影响前台的操作,我们可以通过将正在运行的进程放到后台运行来实现进程的并行操作。将进程放到后台的方法有两种:
1. &
通过在执行命令时在命令行最后加上“&”符号,便可简单实现进程的后台操作。
2. Ctrl Z + bg
Ctrl Z 实现的是讲运行的进程挂起,bg实现将进程放到后台继续运行。

两种方法都会返回一个该进程的后台编号,表示该进程正在后台运行。我们可以通过 jobs 命令查看当前后台进程,也可以通过 fg %<id> 将进程放回前台。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值