1
嘗試使用this function執行處理中斷處理。
在OS X上運行10.10以下代碼:signal()處理程序立即被觸發
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include "sys/wait.h"
sig_t terminate(){
printf("Thanks for the fish!\n");
exit(EXIT_SUCCESS);
}
int main(int argc, const char * argv[]) {
signal(SIGINT, terminate());
while (1){
printf("P");
}
}
問題是,該terminate
功能正在運行的程序後立即調用。意思是,人們看不到一個P
,但只有一行Thanks for the fish!
。我究竟做錯了什麼?
改變了'sig_t終止(){''到空隙終止(){'連同該溶液中。現在工作。謝謝 – Clawish 2014-11-02 14:09:54