0
A
回答
0
你不應該避免PID。它們是進程標識符,並且意在使用。
Bash自動監控它啓動的子進程。最新的後臺進程ID保存在$!中。 Bash還支持使用'%n'語法的作業控制。
您可以使用陷阱SIGCHLD來捕獲子進程狀態更改,並且可以等待一個或所有子進程使用wait命令完成。
這裏是你的兩個過程監控的一個粗略的估計,其中包括「JOB1」和「作業2」正在啓動的示例腳本:
job1 & # start job1 in background
j1pid=$! # get its process id
job2 & # start job2 in background
j2pid=$1 # get its process id
trap 'err=1' ERR # trap all errors
err=
wait $j1pid # wait for job1 to complete
# at this point job1 could have completed normally,
# or either process could have had an error
trap - ERR # revert to "normal" handling of most errors
# kill the processes nicely, or abruptly
# kill -TERM sends the TERM signal to the process, which it can trap
# and do whatever pre-exit process is needed.
# kill -9 cannot be trapped.
for pid in $j1pid $j2pid ; do
kill -TERM $pid 2>/dev/null || kill -9 $pid
done
0
在Linux上你幾乎已經擁有了這個屬性的文件。如果您創建了一個進程,那麼/ proc/procNum將在進程處於活動狀態時存在。舉例來說,如果你的進程號是1050,那麼/ proc/1050將一直存在,直到進程死亡。我不知道刪除這個文件是否會殺死這個進程,但你可以嘗試將兩者結合在一起。
+0
感謝您的信息!我檢查過它,它是一個包含大量文件的目錄。我無法刪除它(即使我使用sudo),所以我無法做我正在尋找的東西。無論如何謝謝你:) – 2011-01-06 12:30:08
相關問題
- 1. 我可以將bash連接到現有的mongod進程嗎?
- 2. 我可以將NSMutableString鏈接到UITextField嗎?
- 3. 我可以將Web鏈接添加到XML文檔中嗎?
- 4. 我可以將未解析的引用鏈接到中止嗎?
- 5. 我可以將社交媒體鏈接嵌入到常用文件中嗎?
- 6. 我可以使用#pragma鏈接到單個obj文件嗎?
- 7. 我可以通過UIWebView鏈接到我的項目中的HTML文件嗎?
- 8. 可以將單個xml文件鏈接到多個java類嗎?
- 9. 我們可以直接將Parquet文件加載到Hive中嗎?
- 10. 我可以以編程方式將鏈接註釋添加到PDF中嗎?
- 11. 我可以分享一個鏈接到文本文件的excel文件嗎?
- 12. 我可以在不同的進程中連接到JVM嗎?
- 13. 可以將.so文件靜態鏈接到可執行文件嗎?
- 14. 我可以將大的json文件直接保存到mongodb嗎?
- 15. 我可以從.html文件中用android中的鏈接調用.java文件嗎?
- 16. 我可以將多個BOOST單元測試鏈接到單個測試二進制文件中嗎?
- 17. 我可以將我的模式中的maxOccurs鏈接到目標xml文件中另一個屬性的值嗎?
- 18. 我可以連接到遠程sqlite二進制轉儲文件嗎?
- 19. 我們可以直接將WARC文件索引到Solr嗎?
- 20. 我可以在Crystal Reports中進行兩級鏈接嗎?
- 21. 我可以使用actionResulting將問卷鏈接到CarePlan活動嗎?
- 22. 我可以將xslt鏈接到另一個xslt嗎?
- 23. 我可以將堆棧添加到ArrayList(或鏈接列表)嗎?
- 24. 我可以將xml文件鏈接到未保存在同一目錄中的xsl文件嗎?
- 25. 如何直接鏈接到我可以更改的文件?
- 26. 我可以在facebook iFrame中使用flash(鏈接到xml文件)嗎?
- 27. 我可以鏈接到R中的Business Objects Universe嗎?
- 28. 我可以創建超鏈接來瀏覽Visual Studio文件嗎?
- 29. 我可以用鏈接運行我的應用程序嗎?
- 30. 我可以直接鏈接到GPL的FSF副本嗎?
如果你說你想什麼它可能會幫助去完成。 – 2011-01-05 21:40:21
我想要監視2個進程,因此如果其中一個崩潰,請讓另一個崩潰。我讀過使用PID來殺死它並不是一個好方法,因爲另一個進程可能以相同的PID開始。因此,我正在尋找避免使用PID的方法。 – 2011-01-06 12:39:33