如何殺死一個子進程發送一個帶有鍵擊的中斷,然後發送一個信號給父進程已被殺死的子進程?信號確認
Q
信號確認
0
A
回答
2
無論孩子何時死亡,父進程通常會收到一個信號。這是SIGCHLD信號。
這個信號可以被父進程阻塞,但否則當孩子出於任何原因退出時它總是被傳遞。父母可以通過使用wait
系列之一(又名wait
,wait3
, wait4
或waitpid
)來獲知退回代碼的原因。
0
讓子進程獲得焦點可能是一個挑戰,以便它獲得鍵盤事件。
您始終可以使用kill
命令向給定進程發送信號。不要讓名稱誤導你,你可以發送任何帶有kill的信號,kill -SIGNUM pid
,但是SIGTERM是默認值,通常會導致進程退出。
所以,如果你想發送一個信號SEGV處理11你會做
kill -SEGV 11
你可以設置父捕捉的信號,通過調用它重新發送給孩子殺(2),然後等待孩子使用waitpid退出。
父的信號處理想的東西,像這樣:
int status;
kill(child_pid, SIG_TO_SEND);/*send to child*/
waitpid(child_pid, &status);/* wait for child to give up */
如果你是認真的關於保持父了,知道信號是隻爲你可能在父設置一個變量的孩子,離開信號處理程序,然後完成發送和等待孩子的工作。一般來說,儘可能快地擺脫信號處理程序是件好事。
相關問題
- 1. 確認沒有信號的UDP包?
- 2. 確認信息
- 3. 刪除Android確認信息
- 4. 短信接收確認
- 5. 短信電話號碼確認與離子和firebase
- 6. 讀取TCP確認編號
- 7. 正確使用PyQt信號
- 8. 明確監聽信號
- 9. 短信號碼不正確?
- 10. 三個確認提交按鈕,其值爲確認信息
- 11. 確認scapy中的數據的確認號
- 12. iOS中的撥號號碼確實需要確認嗎?
- 13. 執行默認信號處理程序
- 14. Django的信號默認disptch UID值
- 15. 訂單確認頁面沒有信息?
- 16. Rails取消確認信息原因
- 17. 如何避免Firefox確認信息?
- 18. 如何使i18n兼容確認信息
- 19. 提交後沒有確認信息
- 20. 確認(「信息」)在<?php ?>
- 21. 關注tr行時的確認信息
- 22. 添加不同的確認信息jquery
- 23. 設計確認 - 歡迎信息
- 24. jQuery圖像刪除確認信息
- 25. 如何抑制IE9 window.close()確認信息
- 26. 自動發送確認短信
- 27. 設計和如何發送確認信
- 28. Windows 8.1設置 - 確認信息
- 29. 自動生成確認編號
- 30. 的Android:確定GPS信號強度