nohup(no hang-up)命令用于在Linux系统中运行一个不受挂起信号影响的进程。当你使用nohup命令运行一个程序时,即使你关闭终端或者断开与服务器的连接,该进程也会继续运行
使用nohup命令启动进程:
语法:nohup command &
例如,如果你想运行名为my_script.sh的脚本,可以使用以下命令:
nohup ./my_script.sh &
这将在后台运行my_script.sh脚本,并将输出重定向到名为nohup.out的文件。
将输出重定向到文件:
默认情况下,nohup会将输出重定向到名为nohup.out的文件。如果你想将输出重定向到其他文件,可以使用以下语法:
nohup command > output_file &
例如,将输出重定向到名为output.log的文件:
nohup ./my_script.sh > output.log &
忽略挂起信号:
当你使用nohup命令时,进程会自动忽略挂起信号(SIGHUP)。这意味着即使你关闭终端或者断开与服务器的连接,进程也会继续运行。
使用disown命令:
如果你已经启动了一个进程,但忘记使用nohup命令,你可以使用disown命令将其从当前shell会话中分离,使其不受挂起信号的影响。首先,找到进程的PID(进程ID),然后运行以下命令:
disown -h %PID
将%PID替换为实际的进程ID。
通过以上方法,你可以使用nohup命令在Linux中避免进程被系统杀死。请注意,为了避免意外关闭或丢失数据,请确保在运行重要进程时使用nohup命令,并定期检查输出文件以确保进程正常运行。