linux

如何使用nohup命令进行多任务处理

小樊
44
2025-06-20 19:17:24
栏目: 编程语言

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

  1. 打开终端。

  2. 使用nohup命令启动第一个任务。例如,如果你想在后台运行名为task1.sh的脚本,可以使用以下命令:

nohup ./task1.sh &

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

  1. 使用$!获取上一个后台任务的进程ID(PID)。例如:
echo $!
  1. 使用nohup命令启动第二个任务,并将其输入重定向到/dev/null,以避免等待用户输入。例如,如果你想在后台运行名为task2.sh的脚本,可以使用以下命令:
nohup ./task2.sh < /dev/null > /dev/null 2>&1 &

这里的< /dev/null表示不等待用户输入,> /dev/null表示将标准输出重定向到/dev/null(丢弃输出),2>&1表示将标准错误重定向到标准输出(也是丢弃输出)。

  1. 使用$!获取第二个后台任务的进程ID(PID)。例如:
echo $!
  1. 重复步骤4和5,以启动更多后台任务。

  2. 若要查看所有后台任务的进程ID,可以使用jobs -p命令。

  3. 若要结束某个后台任务,可以使用kill命令,后跟任务的进程ID。例如:

kill 12345

这里的12345是任务的进程ID。

通过以上步骤,你可以使用nohup命令进行多任务处理。请注意,为了避免意外关闭程序,建议在执行这些操作之前保存所有工作。

0
看了该问题的人还看了