在Linux中,nohup
(no hang-up)命令用于在用户退出系统或关闭终端后继续运行进程。使用nohup
可以防止进程因挂起(SIGHUP)信号而终止。以下是如何使用nohup
命令的步骤:
运行单个命令:
nohup command &
例如:
nohup myscript.sh &
运行带有参数的命令:
nohup command arg1 arg2 &
例如:
nohup myscript.sh arg1 arg2 &
将输出重定向到文件:
默认情况下,nohup
会将输出重定向到当前目录下的nohup.out
文件。你可以显式指定输出文件:
nohup command > output.log 2>&1 &
这里,>
将标准输出重定向到output.log
,2>&1
将标准错误重定向到标准输出,从而将所有输出都写入output.log
。
假设你有一个名为myscript.sh
的脚本,你想在后台运行它,并且希望即使关闭终端后它也能继续运行:
nohup ./myscript.sh > myscript.log 2>&1 &
你可以使用ps
命令来查看正在运行的进程:
ps aux | grep myscript.sh
如果你需要终止一个使用nohup
运行的进程,可以使用kill
命令:
kill -9 <PID>
其中<PID>
是进程的ID。
nohup
命令会忽略挂起信号(SIGHUP),因此即使终端关闭,进程也会继续运行。&
将命令放入后台运行。nohup.out
文件可能会变得非常大,定期清理或监控文件大小是一个好习惯。通过以上步骤,你可以有效地使用nohup
命令来防止进程在Linux系统中终止。