小天管理 发表于 7月15日 Share 发表于 7月15日 经典套娃。 场景这样的使用 symfony process 启动了一个 php 进程。 symfony 启动使用的命令是: $commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;'; $commandline .= 'pid=$!; echo $pid >&3; wait $pid 2>/dev/null; code=$?; echo $code >&3; exit $code' 启动成功后进程树类似:(假设执行的是 php -r "sleep(10);") |---master |-----|---(PID:100) sh -c php -r "sleep(10);" |-----------|---(PID:101) php -r "sleep(10);" 当在 master 中执行 posix_kill(101, 15) sigterm后。sh 立刻退出了。剩余一个 php -r "sleep(10);" 还在跑。 通过这种形式启动的进程应该怎么“优雅”的退出呢? 引用 意见的链接 分享到其他网站 More sharing options...
已推荐帖子
加入讨论
您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.