關於fork與訊號的小測試

2021-09-13 17:57:16 字數 764 閱讀 7683

之前有乙個疑問,就是在使用fork的多程序的程式中,如果其前台,並通過ctrl-c企圖終止該程序,那麼父程序與子程序是否都會捕獲到訊號,於是做了乙個小測試,**如下:

#include #include #include #include void signal_handle(int sig)

int main(int argc, char *ar**)

case 0:

default:

}return 0;

}

執行**,並多次使用ctrl-c向程序傳送sigint訊號,得到的結果如下:

signal_handle pid = 4884

signal_handle pid = 4887

signal_handle pid = 4887

signal_handle pid = 4884

signal_handle pid = 4887

signal_handle pid = 4884

signal_handle pid = 4887

signal_handle pid = 4884

signal_handle pid = 4887

signal_handle pid = 4884

signal_handle pid = 4887

signal_handle pid = 4884

可以看到,父程序為4884,子程序為4887,並且兩個程序都收到了該訊號。

關於執行緒安全的小測試

起100個執行緒 1,迴圈100次檢視結果,正常來說應該是100對吧 public static int t 0 public static void main string args throws interruptedexception start 列印t的值 system.out.printl...

關於fork的小問題

在閱讀apue的時候,試著在cygwin中測試乙個源程式,如下 1 include 2 include 3 include 4 include 56 define maxline 512 7 static void sig int int 8 int main int argc,char argv ...

QT 訊號與槽效率測試

一直很好奇qt訊號槽的速度問題,簡單測試了一下,先上 mainwindow.h ifndef mainwindow h define mainwindow h include include cgetcpuclockfrequency.h namespace ui class mainwindow ...