久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Qt得到linux系統(tǒng)信號,,并且得到系統(tǒng)的堆棧信息

 ylsnData 2018-04-13
一:用到的函數(shù)介紹
1,為系統(tǒng)注冊自己的信號處理函數(shù)(signal函數(shù)每次設(shè)置具體的信號處理函數(shù)(非SIG_IGN)只能生效一次,每次在進程響應(yīng)處理信號時,,隨即將信號處理函數(shù)恢復(fù)為默認(rèn)處理方式.所以如果想多次相同方式處理某個信號,通常的做法是,在響應(yīng)函數(shù)開始,再次調(diào)用signal設(shè)置,
函數(shù)原型:
sighandler_t signal(int signum, sighandler_t handler)
(1),需要包含的頭文件
#include <signal.h> //該文件中定義了信號處理的函數(shù)原型
(2),參數(shù)解釋:
第一個參數(shù)signum:指明了所要處理的信號類型,它可以取除了SIGKILL和SIGSTOP外的任何一種信號。
SIGKILL和 SIGSTOP:這兩個信號為不可處理信號,,即用戶無法自定義處理方法,,只能由系統(tǒng)來處理。
常用的信號類型:
Signal Description
SIGABRT 由調(diào)用abort函數(shù)產(chǎn)生,,進程非正常退出
SIGALRM 用alarm函數(shù)設(shè)置的timer超時或setitimer函數(shù)設(shè)置的interval timer超時
SIGBUS 某種特定的硬件異常,,通常由內(nèi)存訪問引起
SIGCANCEL 由Solaris Thread Library內(nèi)部使用,通常不會使用
SIGCHLD 進程Terminate或Stop的時候,,SIGCHLD會發(fā)送給它的父進程,。缺省情況下該Signal會被忽略
SIGCONT 當(dāng)被stop的進程恢復(fù)運行的時候,自動發(fā)送
SIGEMT 和實現(xiàn)相關(guān)的硬件異常
SIGFPE 數(shù)學(xué)相關(guān)的異常,,如被0除,,浮點溢出,等等
SIGFREEZE Solaris專用,,Hiberate或者Suspended時候發(fā)送
SIGHUP 發(fā)送給具有Terminal的Controlling Process,,當(dāng)terminal 被disconnect時候發(fā)送
SIGILL 非法指令異常
SIGINFO BSD signal。由Status Key產(chǎn)生,,通常是CTRL+T,。發(fā)送給所有Foreground Group的進程
SIGINT 由Interrupt Key產(chǎn)生,通常是CTRL+C或者DELETE,。發(fā)送給所有ForeGround Group的進程
SIGIO 異步IO事件
SIGIOT 實現(xiàn)相關(guān)的硬件異常,,一般對應(yīng)SIGABRT
SIGKILL 無法處理和忽略。中止某個進程
SIGLWP 由Solaris Thread Libray內(nèi)部使用
SIGPIPE 在reader中止之后寫Pipe的時候發(fā)送
SIGPOLL 當(dāng)某個事件發(fā)送給Pollable Device的時候發(fā)送
SIGPROF Setitimer指定的Profiling Interval Timer所產(chǎn)生
SIGPWR 和系統(tǒng)相關(guān),。和UPS相關(guān),。
SIGQUIT 輸入Quit Key的時候(CTRL+\)發(fā)送給所有Foreground Group的進程
SIGSEGV 非法內(nèi)存訪問
SIGSTKFLT Linux專用,數(shù)學(xué)協(xié)處理器的棧異常
SIGSTOP 中止進程,。無法處理和忽略,。
SIGSYS 非法系統(tǒng)調(diào)用
SIGTERM 請求中止進程,kill命令缺省發(fā)送
SIGTHAW Solaris專用,,從Suspend恢復(fù)時候發(fā)送
SIGTRAP 實現(xiàn)相關(guān)的硬件異常,。一般是調(diào)試異常
SIGTSTP Suspend Key,一般是Ctrl+Z,。發(fā)送給所有Foreground Group的進程
SIGTTIN 當(dāng)Background Group的進程嘗試讀取Terminal的時候發(fā)送
SIGTTOU 當(dāng)Background Group的進程嘗試寫Terminal的時候發(fā)送
SIGURG 當(dāng)out-of-band data接收的時候可能發(fā)送
SIGUSR1 用戶自定義signal 1
SIGUSR2 用戶自定義signal 2
SIGVTALRM setitimer函數(shù)設(shè)置的Virtual Interval Timer超時的時候
SIGWAITING Solaris Thread Library內(nèi)部實現(xiàn)專用
SIGWINCH 當(dāng)Terminal的窗口大小改變的時候,,發(fā)送給Foreground Group的所有進程
SIGXCPU 當(dāng)CPU時間限制超時的時候
SIGXFSZ 進程超過文件大小限制
SIGXRES Solaris專用,進程超過資源限制的時候發(fā)
第二個參數(shù) sighandler_t handler:為自定義處理的函數(shù)指針,攜帶一個int數(shù)據(jù),。
?實例代碼:
?//自定義的信號處理函數(shù)
?void catInfo(int sig)
{
    system("sudo echo 123456 > /home/pi/Desktop/t");
}
?//注冊信號處理的回調(diào)函數(shù)
 signal(SIGINT,catInfo);
?2,得到系統(tǒng)給的堆棧調(diào)用信息:
?
?
?

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多