![](/img/trans.png)
[英]What happens if you signal (os signal, not pthread_mutex_unlock) on process blocked on pthread_mutex_wait
[英]What happens if the call to `kill` causes the signal to be generated for the calling process and the signal is not blocked?
#include <signal.h> int kill(pid_t pid, int signo);
...
如果
kill
的調用導致為調用進程生成信號,並且該信號未阻塞 ,則在kill返回之前,signo
或其他未決的未阻塞信號會傳遞到該進程 。 (線程出現其他條件;有關更多信息,請參見第12.8節。)
我很難理解上一段。
案件描述是什么意思
“ kill
的調用導致為調用過程生成信號”
“信號未阻塞”?
結果是什么意思?
有人會改寫和/或舉一些例子嗎?
這一切都說明,如果進程正在使用kill
向自身發送信號,則該信號將在kill
返回之前被傳遞。 有一些警告。
kill的用途之一是向程序發送s信號,告知該程序結束-名稱來自何處。 但是,如今,您還可以發送其他幾種信號來發送程序。
基本上,當一個程序使用另一個程序的pid(進程ID)調用kill時,它正在告訴內核將該信號傳遞給另一個程序。
這並不總是意味着信號將被發送到另一個程序。 相反,如果調用kill的程序運行的用戶與發出信號的程序不同,則內核將不會傳遞信號,而是將其阻止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.