温馨提示×

Linux中nohup命令的参数有哪些

小樊
35
2025-12-06 00:30:27
栏目: 智能运维

nohup(no hang-up)命令用于在后台运行程序,使其不受终端关闭的影响。以下是nohup命令的一些常用参数:

基本用法

  • nohup command &
    • 在后台运行command,并将输出重定向到nohup.out文件。

参数详解

  1. -a

    • 将标准输出和标准错误都重定向到指定的文件。
    • 例如:nohup command -a output.log &
  2. -c

    • 不使用当前shell的环境变量,而是使用默认的环境变量来运行命令。
    • 例如:nohup command -c &
  3. -d

    • 指定一个文件来记录进程的标准错误输出。
    • 例如:nohup command -d error.log &
  4. -e

    • 指定一个文件来记录进程的标准输出。
    • 例如:nohup command -e output.log &
  5. -f

    • 强制使用fork()系统调用,即使当前shell不支持后台运行。
    • 例如:nohup command -f &
  6. -h

    • 显示帮助信息并退出。
  7. -i

    • 忽略挂起信号(SIGHUP),确保进程在终端关闭后继续运行。
    • 例如:nohup command -i &
  8. -l

    • 使用登录shell的环境变量来运行命令。
    • 例如:nohup command -l &
  9. -m

    • 指定一个文件来记录进程的退出状态。
    • 例如:nohup command -m exit_status.log &
  10. -n

    • 将标准输出重定向到/dev/null,即丢弃标准输出。
    • 例如:nohup command -n &
  11. -p

    • 指定一个文件来记录进程的标准错误输出,并且不覆盖已有文件。
    • 例如:nohup command -p error.log &
  12. -q

    • 安静模式,不显示任何输出。
  13. -r

    • 只有当命令的标准错误输出不是终端时,才重定向标准错误输出。
    • 例如:nohup command -r &
  14. -s

    • 指定一个文件来记录进程的标准输出,并且不覆盖已有文件。
    • 例如:nohup command -s output.log &
  15. -t

    • 指定一个文件来记录进程的标准错误输出,并且不覆盖已有文件。
    • 例如:nohup command -t error.log &

示例

# 在后台运行命令,并将标准输出和标准错误都重定向到output.log
nohup command -a output.log &

# 在后台运行命令,并忽略挂起信号
nohup command -i &

# 在后台运行命令,并将标准输出重定向到/dev/null
nohup command -n &

注意事项

  • nohup命令默认会将输出重定向到nohup.out文件,除非指定了其他文件。
  • 使用&符号将命令放入后台运行。
  • 确保在命令前加上nohup,否则进程会在终端关闭时被终止。

通过这些参数,你可以灵活地控制nohup命令的行为,以满足不同的需求。

0