nohup(no hang-up)是一个在Linux和Unix系统中用于在后台运行命令的实用程序,即使关闭终端或断开连接,它也会继续运行
基本用法:
在命令前加上nohup,然后在命令后添加&符号。例如:
nohup your_script.sh &
这将在后台运行your_script.sh脚本,并将输出重定向到名为nohup.out的文件。
输出重定向: 如果你想将输出重定向到特定的文件,可以使用以下语法:
nohup your_script.sh > output.log 2>&1 &
这将把标准输出和错误输出都重定向到output.log文件。
分离进程:
如果你想在后台运行脚本,并将其与当前终端会话分离,可以使用setsid命令:
nohup setsid your_script.sh > output.log 2>&1 &
这将在新的会话中运行脚本,即使关闭终端也不会终止。
查看后台进程:
使用ps命令查看后台运行的进程。例如,要查找名为your_script.sh的脚本,可以使用以下命令:
ps aux | grep your_script.sh
终止后台进程:
要终止后台运行的脚本,首先需要找到其进程ID(PID)。可以使用ps命令查找PID,然后使用kill命令终止进程。例如:
kill -9 PID
其中PID是你要终止的进程的ID。
使用nohup运行多个脚本:
如果你想同时运行多个脚本,可以在同一行中使用多个nohup命令,用&符号分隔。例如:
nohup script1.sh > output1.log 2>&1 & nohup script2.sh > output2.log 2>&1 &
总之,nohup是一个非常有用的工具,可以帮助你在Debian系统中在后台运行脚本,即使关闭终端或断开连接,脚本也会继续运行。通过结合其他命令(如setsid、ps和kill),你可以更好地控制和管理这些后台进程。