终止进程的返回码应该是什么?我边跑边"bash -c \"while true; do true; done\""
打电话terminate
。在 boost 1.65 中是这样0
,现在在 boost 1.71 中是383
。
问问题
157 次
1 回答
1
国家的文件exit_code()
:
如果孩子没有被等待或被终止,则返回值没有任何意义。
因此,如果进程是d ,它似乎exit_code()
不应该被调用。terminate
383
在 Linux 上, ( )的“退出代码”0x17F
表示进程仍在运行。因此,值得尝试wait
在获取其退出代码之前完成该过程。
Boost.Process 在 1.71 版左右的某个地方发生了一些变化,这可以解释行为上的差异(例如,将 SIGTERM 更改为 SIGKILL),但根据exit_code
文档,将其与terminate
.
于 2021-02-03T14:05:07.233 回答