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 文件。setsidnohup setsid command &
setsid 创建一个新的会话,进一步确保进程不受终端关闭的影响。disowndisown 命令将其从当前 shell 的作业表中移除,防止被挂起信号终止。nohup command &
disown
screen 或 tmuxnohup 的参数,但 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 命令来管理后台进程。