在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系统中被挂起。