父程序與子程序間相互傳送訊號

2021-07-24 03:41:37 字數 524 閱讀 2977

最近想要實現父子程序間的通訊,兩個程序間能「軟中斷」,也就是使用signal函式將程序與handler函式繫結。

其中的難點在於如何在父程序中獲取子程序的pid,由於實際的程式中,父程序有唯一的子程序,所以我採用的方法是

直接將父程序的 pid + 1 也就獲取了子程序的pid,有一絲奇技淫巧的感覺,but , it works.

#include#include#include#include#include#includevoid father_handler(int sig)

void child_handler(int sig)

void father_connect()

}void child_connect()

}int main()else

while(1);

}

由於兩個程序間能夠互相軟中斷,我們可以實現很多功能,比如模擬client 與 server 間的通訊等等

之後會用使用這個奇技淫巧做些東西出來

Linux下父程序向子程序傳送訊號

需要用到的函式 kill int kill pid,sig int pid,sig 其中,pid是乙個或一組程序的識別符號,引數sig是要傳送的軟中斷訊號。1 pid 0時,核心將訊號傳送給程序pid。2 pid 0時,核心將訊號傳送給與傳送程序同組的所有程序。3 pid 1時,核心將訊號傳送給所有...

程序間通訊之kill傳送訊號

c語言 利用kill函式實現乙個程序向另乙個程序傳送訊號 1.用於向任何程序組或程序傳送訊號 include signal.h intkill pid t pid,intsig 2.引數 pid 可能選擇有以下四種 1.pid大於零時,pid是訊號欲送往的程序的標識。2.pid等於零時,訊號將送往所...

pthread kill向子程序傳送訊號函式

pthread kill 別被名字嚇到,pthread kill可不是kill,而是向執行緒傳送signal。還記得signal嗎,大部分signal的預設動作是終止程序的執行,所以,我們才要用signal 去抓訊號並加上處理函式。int pthread kill pthread t thread,...