温馨提示×

nohup命令的常见参数有哪些

小樊
56
2025-07-06 23:55:27
栏目: 编程语言

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
    

使用 screentmux

  • 虽然不是 nohup 的参数,但 screentmux 提供了更强大的会话管理功能,可以更好地控制后台进程。
    screen -dmS mysession command
    # 或者
    tmux new -d -s mysession command
    

示例

nohup python myscript.py > myoutput.log 2>&1 &

这条命令会在后台运行 python myscript.py,并将所有输出(包括标准输出和标准错误)重定向到 myoutput.log 文件。

通过这些参数和技巧,你可以更灵活地使用 nohup 命令来管理后台进程。

0