2146

11 分钟

#Bash 的 setsid 命令

setsid [OPTION]... [CMD [ARG]...]

功能

使用新的会话运行程序。

类型

可执行文件(/usr/bin/setsid),属于 util-linux

参数

  • OPTION 选项:
    • -c, --ctty - 将控制终端设为当前终端
    • -f, --fork - 先创建一个子进程,再让子进程调用 setsid(2)setsid 命令自身是进程组 leader 时必须使用此选项
    • -w, --wait - 等待 CMD 执行完毕,以 CMD 的返回值作为 setsid 的返回值返回
    • --help - 显示帮助
    • --version - 显示版本
  • CMD - 要运行的命令
  • ARG - 传递给 CMD 的参数列表

#示例

$ setsid java -jar minecraft_server.jar nogui &      # & 表示后台运行
  • 在新的会话中运行 minecraft_server,与控制终端解绑,不会收到终端挂断信号,用户注销后仍可继续运行。

#推荐阅读

#手册

更新: 2026/3/6

作者: PlanC

创建: 2026/3/6