0
我在我的程序的信號處理程序,看起來像這樣:與平臺無關的方式轉換成信號的數字爲字符串
void signalHandler(int sig)
{
BOOST_LOG_SEV(logger, fatal) << "Received signal " << sig;
gQuit = true;
}
目前這產生這樣的輸出:
接收信號2
但我想看到的是類似於
接收信號SIGINT
我大概可以用strsignal(sig)
,其中should work on POSIX.1-2008 systems取代的sig
輸出。該解決方案是在這太問題討論:
然而,在我的情況,我想避免引入特定於平臺的代碼。
是否boost
或標準庫提供瞭解決此問題的方法?
對信號處理程序可以做什麼存在嚴格限制,我不確定記錄到文件是否是其中之一。如果這就是代碼的作用。無論如何,你可以簡單地在表格中查找信號ID。 –
@ Cheersandhth.-Alf謝謝,我不知道有限制。 – arman
http://stackoverflow.com/questions/16891019/how-to-avoid-using-printf-in-a-signal-handler –