nohup
(no hang-up)命令用于在后台运行程序,使其不受终端关闭的影响。以下是一些常见的 nohup
参数:
nohup command &
command
,并将输出重定向到 nohup.out
文件。nohup command > output.log 2>&1 &
output.log
文件,并在后台运行。nohup command > myoutput.log 2>&1 &
myoutput.log
文件,并在后台运行。nohup command &
nohup
会忽略挂起信号(SIGHUP),确保进程在终端关闭后继续运行。nohup env > env_output.log command &
command
之前,先输出当前的环境变量到 env_output.log
文件。setsid
nohup setsid command &
setsid
创建一个新的会话,进一步确保进程不受终端关闭的影响。disown
disown
命令将其从当前 shell 的作业表中移除,防止被挂起信号终止。nohup command &
disown
screen
或 tmux
nohup
的参数,但 screen
和 tmux
提供了更强大的会话管理功能,可以更好地控制后台进程。screen -dmS mysession command
# 或者
tmux new -d -s mysession command
nohup python myscript.py > myoutput.log 2>&1 &
这条命令会在后台运行 python myscript.py
,并将所有输出(包括标准输出和标准错误)重定向到 myoutput.log
文件。
通过这些参数和技巧,你可以更灵活地使用 nohup
命令来管理后台进程。