在Linux中,nohup(no hang up)命令用于在用户退出系统后继续运行指定的命令或脚本。这样可以防止进程因为终端关闭或网络连接中断而被挂起。以下是如何使用nohup命令的详细步骤和示例:
基本命令格式:
nohup command [arguments] &
其中,command 是要运行的命令,arguments 是传递给命令的参数,& 符号将命令放入后台运行。
输出重定向:
默认情况下,nohup会将命令的输出重定向到当前目录下的 nohup.out 文件。如果你想指定其他文件来保存输出,可以使用重定向操作符 > 或 >>。
nohup command [arguments] > output.log 2>&1 &
这里,output.log 是你希望保存输出的文件,2>&1 表示将标准错误输出(stderr)也重定向到同一个文件。
假设你想在后台运行一个名为 my_script.sh 的脚本,并且希望即使关闭终端后脚本也能继续运行,可以这样做:
nohup ./my_script.sh > my_script_output.log 2>&1 &
你可以使用 ps 命令来检查 nohup 启动的进程是否仍在运行:
ps -ef | grep my_script.sh
如果你需要终止 nohup 启动的进程,可以使用 kill 命令。首先找到进程的PID(进程ID),然后使用 kill 命令终止它:
kill -9 <PID>
其中 <PID> 是进程的ID。
通过以上步骤,你可以有效地使用 nohup 命令来防止进程在Linux系统中被挂起。