在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系统中终止。