簡體   English   中英

終止進程的Boost進程退出代碼

[英]Boost Process exit code of terminated process

終止進程的返回碼應該是什么? 我運行"bash -c \"while true; do true; done\"" "bash -c \"while true; do true; done\"" "bash -c \"while true; do true; done\""並調用terminate 在 boost 1.65 中是0 ,現在在 boost 1.71 中是383

exit_code()的文檔指出:

如果孩子沒有被等待或被終止,則返回值沒有任何意義

因此,如果進程terminate ,似乎不應該調用exit_code()

在 Linux 上,“退出代碼”為383 ( 0x17F ) 表示進程仍在運行。 因此,在獲取退出代碼之前wait進程完成是值得的。

Boost.Process 在 1.71 版左右的某個地方發生了一些變化,這可以解釋行為上的差異(例如,將 SIGTERM 更改為 SIGKILL),但根據exit_code文檔,將其與terminate結合使用是不可行的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM