nohup
(no hang up)命令允许你在后台运行程序,即使关闭终端也不会中断程序
- 首先,确保你已经安装了GNU
parallel
。如果没有,请根据你的操作系统安装它。在Debian/Ubuntu上,你可以使用以下命令安装:
sudo apt-get install parallel
在Red Hat/CentOS上,你可以使用以下命令安装:
sudo yum install parallel
-
假设你有一个名为
my_script.sh
的脚本,它接受一个参数并执行一些操作。你想要并行地运行这个脚本,为每个参数启动一个实例。你可以创建一个包含所有参数的文本文件(例如input.txt
),每行一个参数。 -
使用以下命令并行运行
my_script.sh
脚本:
cat input.txt | parallel -j+0 nohup ./my_script.sh {}
这里,parallel
命令会读取input.txt
文件中的每一行,并为每行启动一个nohup ./my_script.sh {}
命令。{}
是一个占位符,表示从input.txt
文件中读取的每一行参数。-j+0
选项告诉parallel
使用尽可能多的并行作业。
这样,你的脚本将并行运行,即使关闭终端也不会中断。所有输出将被重定向到名为nohup.out
的文件中。
注意:并行作业的数量取决于你的系统资源和脚本的执行时间。过多的并行作业可能会导致系统资源不足,从而降低整体性能。你可以根据需要调整-j
选项的值以控制并行作业的数量。