2130

11 分钟

#Bash 的 disown 命令

disown [OPTION]... [ID]...

功能

从当前 shell 中移除作业。

类型

Bash 内置命令。

参数

  • OPTION 选项:
    • -a - 移除所有作业
    • -h - 标记作业,使得在 shell 收到 SIGHUP 信号时,不会向该作业发送 SIGHUP 信号
    • -r - 仅移除正在运行的作业
  • ID - 进程 ID,可以使用以下特殊参数
    • %1 - 第一个作业的进程 ID,以此类推
    • %+ - 当前作业(最后一个暂停的作业)的进程 ID
    • %- - 上一个作业(最后一个后台作业)的进程 ID

#示例

$ java -jar minecraft_server.jar nogui      # & 表示后台运行,然后按 Ctrl + Z 暂停
^Z                                                  
[1]+  Stopped                 nohup java -jar minecraft_server.jar nogui
$ bg                                        # 转为后台运行
[1]+ nohup java -jar minecraft_server.jar nogui &
$ disown -h %1                              # 将该作业移除,并使其不会收到 SIGHUP 信号

#相关命令

命令说明
bg将作业转为后台运行
fg将作业转为前台运行
jobs查看作业状态
&使命令作为后台作业运行

#推荐阅读

#手册

更新: 2026/7/1

作者: planc

创建: 2026/3/27