linux

如何使用nohup命令在Linux中实现多任务并发

小樊
52
2025-04-23 04:21:20
栏目: 智能运维

在Linux中,nohup(no hang-up)命令允许您在后台运行程序,即使关闭终端或断开连接,程序也会继续运行

  1. 打开终端。

  2. 使用nohup命令启动第一个任务。例如,要运行名为task1.sh的脚本,您可以输入以下命令:

nohup ./task1.sh &

这里的&符号表示将任务放入后台运行。

  1. 使用$!获取上一个后台任务的进程ID(PID)。例如:
echo $!

将输出保存到一个变量中,以便稍后使用:

pid1=$!
  1. 重复步骤2和3,为其他任务创建后台进程。例如,要运行名为task2.sh的脚本,您可以输入以下命令:
nohup ./task2.sh &
pid2=$!
  1. 若要等待所有后台任务完成,可以使用wait命令。将所有进程ID放入一个数组中,然后遍历数组并使用wait命令等待每个进程完成:
pids=($pid1 $pid2)
for pid in "${pids[@]}"; do
  wait $pid
done

现在,您已经使用nohup命令在Linux中实现了多任务并发。请注意,如果您的任务需要交互式输入,这可能不适用。在这种情况下,您可以考虑使用screentmux等终端复用器。

0
看了该问题的人还看了