• shaw's avatar
    fix: 使用 setsid 确保重启命令独立于父进程执行 · f0e89992
    shaw authored
    问题原因:
    - cmd.Start() 启动的子进程与父进程在同一会话中
    - 当 systemctl restart 发送 SIGTERM 给父进程时
    - 子进程可能也会被终止,导致重启命令无法完成
    
    修复内容:
    - 使用 setsid 创建新会话,子进程完全独立于父进程
    - 分离标准输入/输出/错误流
    - 确保即使父进程被 kill,重启命令仍能执行完成
    f0e89992
restart.go 2.85 KB