我需要通過守護進程中的「/ bin/sh」執行一些命令。有時這些命令執行時間太長,我需要以某種方式中斷它們。守護進程使用C++編寫,命令使用std :: system()來執行。我需要清理堆棧,以便在線程死亡時調用析構函數。 (在C++異常處理程序中捕獲事件將是完美的)。最簡單的方法來中斷運行進程時被阻塞的線程
線程使用boost:thread創建。不幸的是,在這種情況下,boost :: thread :: interrupt()或pthread_cancel()都是有用的。
我可以想象從編寫我自己的system()版本到找到孩子的process-id和signal()它的幾種方法。但是必須有一個更簡單的方法?
在詢問新問題之前,您可能想要接受一些**前面的問題**的答案。 – ereOn 2010-10-26 15:26:40