• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            Linux Signals

            Signals

            Linux Signals are:

            Signal Name Number Description
            SIGHUP 1 Hangup (POSIX)
            SIGINT 2 Terminal interrupt (ANSI)
            SIGQUIT 3 Terminal quit (POSIX)
            SIGILL 4 Illegal instruction (ANSI)
            SIGTRAP 5 Trace trap (POSIX)
            SIGIOT 6 IOT Trap (4.2 BSD)
            SIGBUS 7 BUS error (4.2 BSD)
            SIGFPE 8 Floating point exception (ANSI)
            SIGKILL 9 Kill(can't be caught or ignored) (POSIX)
            SIGUSR1 10 User defined signal 1 (POSIX)
            SIGSEGV 11 Invalid memory segment access (ANSI)
            SIGUSR2 12 User defined signal 2 (POSIX)
            SIGPIPE 13 Write on a pipe with no reader, Broken pipe (POSIX)
            SIGALRM 14 Alarm clock (POSIX)
            SIGTERM 15 Termination (ANSI)
            SIGSTKFLT 16 Stack fault
            SIGCHLD 17 Child process has stopped or exited, changed (POSIX)
            SIGCONT 18 Continue executing, if stopped (POSIX)
            SIGSTOP 19 Stop executing(can't be caught or ignored) (POSIX)
            SIGTSTP 20 Terminal stop signal (POSIX)
            SIGTTIN 21 Background process trying to read, from TTY (POSIX)
            SIGTTOU 22 Background process trying to write, to TTY (POSIX)
            SIGURG 23 Urgent condition on socket (4.2 BSD)
            SIGXCPU 24 CPU limit exceeded (4.2 BSD)
            SIGXFSZ 25 File size limit exceeded (4.2 BSD)
            SIGVTALRM 26 Virtual alarm clock (4.2 BSD)
            SIGPROF 27 Profiling alarm clock (4.2 BSD)
            SIGWINCH 28 Window size change (4.3 BSD, Sun)
            SIGIO 29 I/O now possible (4.2 BSD)
            SIGPWR 30 Power failure restart (System V)

            As noted above, processes can ignore, block, or catch all signals except SIGSTOP and SIGKILL. If a process catches a signal, it means that it includes code that will take appropriate action when the signal is received. If the signal is not caught by the process, the kernel will take default action for the signal.

            FIFOs

            FIFOs are permanent objects and can be created using the mkfifo(1) or mknod(1) command. Inside the program, the FIFO can be created using the mknod command, then opened and read from or written to just like a normal file. The FIFO is normally in blocking mode when attempting to perform read operations.


            引用自:http://www.comptechdoc.org/os/linux/programming/linux_pgsignals.html



            在終端使用kill -l 命令可以顯示所有的信號。
            $kill -l
            1) SIGHUP
            2) SIGINT 3) SIGQUIT 4) SIGILL
            5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
            9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
            13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
            17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
            21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
            25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
            29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
            35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
            39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
            43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
            47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
            51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
            55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
            59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
            63) SIGRTMAX-1 64) SIGRTMAX

            其中前面31個(gè)信號為不可靠信號(非實(shí)時(shí)的,可能會出現(xiàn)信號的丟失),后面的信號為可靠信號(實(shí)時(shí)的real_time,對信號
            排隊(duì),不會丟失)。

            1) SIGHUP (掛起) 當(dāng)運(yùn)行進(jìn)程的用戶注銷時(shí)通知該進(jìn)程,使進(jìn)程終止

            2) SIGINT (中斷) 當(dāng)用戶按下時(shí),通知前臺進(jìn)程組終止進(jìn)程

            3) SIGQUIT (退出) 用戶按下或時(shí)通知進(jìn)程,使進(jìn)程終止

            4) SIGILL (非法指令) 執(zhí)行了非法指令,如可執(zhí)行文件本身出現(xiàn)錯(cuò)誤、試圖執(zhí)行數(shù)據(jù)段、堆棧溢出

            5) SIGTRAP 由斷點(diǎn)指令或其它trap指令產(chǎn)生. 由debugger使用

            6) SIGABRT (異常中止) 調(diào)用abort函數(shù)生成的信號

            7) SIGBUS 非法地址, 包括內(nèi)存地址對齊(alignment)出錯(cuò). eg: 訪問一個(gè)四個(gè)字長的整數(shù), 但其地址不是4的倍數(shù).

            8) SIGFPE (算術(shù)異常) 發(fā)生致命算術(shù)運(yùn)算錯(cuò)誤,包括浮點(diǎn)運(yùn)算錯(cuò)誤、溢出及除數(shù)為0.

            9) SIGKILL (確認(rèn)殺死) 當(dāng)用戶通過kill -9命令向進(jìn)程發(fā)送信號時(shí),可靠的終止進(jìn)程

            10) SIGUSR1 用戶使用

            11) SIGSEGV (段越界) 當(dāng)進(jìn)程嘗試訪問不屬于自己的內(nèi)存空間導(dǎo)致內(nèi)存錯(cuò)誤時(shí),終止進(jìn)程

            12) SIGUSR2 用戶使用

            13) SIGPIPE 寫至無讀進(jìn)程的管道, 或者Socket通信SOCT_STREAM的讀進(jìn)程已經(jīng)終止,而再寫入。

            14) SIGALRM (超時(shí)) alarm函數(shù)使用該信號,時(shí)鐘定時(shí)器超時(shí)響應(yīng)

            15) SIGTERM (軟中斷) 使用不帶參數(shù)的kill命令時(shí)終止進(jìn)程

            17) SIGCHLD (子進(jìn)程結(jié)束) 當(dāng)子進(jìn)程終止時(shí)通知父進(jìn)程

            18) SIGCONT (暫停進(jìn)程繼續(xù)) 讓一個(gè)停止(stopped)的進(jìn)程繼續(xù)執(zhí)行. 本信號不能被阻塞.

            19) SIGSTOP (停止) 作業(yè)控制信號,暫停停止(stopped)進(jìn)程的執(zhí)行. 本信號不能被阻塞, 處理或忽略.

            20) SIGTSTP (暫停/停止) 交互式停止信號, Ctrl-Z 發(fā)出這個(gè)信號

            21) SIGTTIN 當(dāng)后臺作業(yè)要從用戶終端讀數(shù)據(jù)時(shí), 終端驅(qū)動程序產(chǎn)生SIGTTIN信號

            22) SIGTTOU 當(dāng)后臺作業(yè)要往用戶終端寫數(shù)據(jù)時(shí), 終端驅(qū)動程序產(chǎn)生SIGTTOU信號

            23) SIGURG 有"緊急"數(shù)據(jù)或網(wǎng)絡(luò)上帶外數(shù)據(jù)到達(dá)socket時(shí)產(chǎn)生.

            24) SIGXCPU 超過CPU時(shí)間資源限制. 這個(gè)限制可以由getrlimit/setrlimit來讀取/改變。

            25) SIGXFSZ 當(dāng)進(jìn)程企圖擴(kuò)大文件以至于超過文件大小資源限制。

            26) SIGVTALRM 虛擬時(shí)鐘信號. 類似于SIGALRM, 但是計(jì)算的是該進(jìn)程占用的CPU時(shí)間.

            27) SIGPROF (梗概時(shí)間超時(shí)) setitimer(2)函數(shù)設(shè)置的梗概統(tǒng)計(jì)間隔計(jì)時(shí)器(profiling interval timer)

            28) SIGWINCH 窗口大小改變時(shí)發(fā)出.

            29) SIGIO(異步I/O) 文件描述符準(zhǔn)備就緒, 可以開始進(jìn)行輸入/輸出操作.

            30) SIGPWR 電源失效/重啟動

            31) SIGSYS 非法的系統(tǒng)調(diào)用。

            在以上列出的信號中,
            程序不可捕獲、阻塞或忽略的信號有:SIGKILL,SIGSTOP
            不能恢復(fù)至默認(rèn)動作的信號有:SIGILL,SIGTRAP
            默認(rèn)會導(dǎo)致進(jìn)程流產(chǎn)的信號有:SIGABRT,SIGBUS,SIGFPE,SIGILL,SIGIOT,SIGQUIT,SIGSEGV,SIGTRAP,SIGXCPU,SIGXFSZ
            默認(rèn)會導(dǎo)致進(jìn)程退出的信號有:SIGALRM,SIGHUP,SIGINT,SIGKILL,SIGPIPE,SIGPOLL,SIGPROF,SIGSYS,SIGTERM,SIGUSR1,SIGUSR2,SIGVTALRM
            默認(rèn)會導(dǎo)致進(jìn)程停止的信號有:SIGSTOP,SIGTSTP,SIGTTIN,SIGTTOU
            默認(rèn)進(jìn)程忽略的信號有:SIGCHLD,SIGPWR,SIGURG,SIGWINCH

            此外,SIGIO在SVR4是退出,在4.3BSD中是忽略;SIGCONT在進(jìn)程掛起時(shí)是繼續(xù),否則是忽略,不能被阻塞。

            在Unix/Linux中signal函數(shù)是比較復(fù)雜的一個(gè),其定義原型如下:
            void (*signal(int signo,void (*func)(int))) (int)
            這個(gè)函數(shù)中,最外層的函數(shù)體
            void (* XXX )(int)表明是一個(gè)指針,指向一個(gè)函數(shù)XXX的指針,XXX所代表的函數(shù)需要一個(gè)int型的參數(shù),返回void
            signal(int signo, void(*func)(int))是signal函數(shù)的主體.
            需要兩個(gè)參數(shù)int型的signo以及一個(gè)指向函數(shù)的函數(shù).
            void (*func)(int).
            正是由于其復(fù)雜性,在[Plauger 1992]用typedef來對其進(jìn)行簡化
            typedef void Sigfuc(int);//這里可以看成一個(gè)返回值 .
            再對signal函數(shù)進(jìn)行簡化就是這樣的了
            Sigfunc *signal(int,Sigfuc *);


            在signal.h頭文件中還有以下幾個(gè)定義
            #define SIG_ERR (void (*)())-1
            #define SIG_DFL (void (*)())0
            #define SIG_IGN (void (*)())1


            本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處: http://blog.csdn.net/nevercgoodbye/archive/2008/11/25/3367853.aspx



            posted on 2010-08-11 12:12 葉子 閱讀(1170) 評論(0)  編輯 收藏 引用 所屬分類: Unix

            国产亚洲美女精品久久久久狼| 久久久精品国产亚洲成人满18免费网站| 香蕉99久久国产综合精品宅男自 | 久久精品国产亚洲Aⅴ蜜臀色欲| 精品国产青草久久久久福利 | 久久精品国产亚洲AV无码麻豆| 国产精品久久久久久久| 久久久免费观成人影院| 久久国产精品一国产精品金尊| 精品久久国产一区二区三区香蕉| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | 四虎久久影院| 精品久久香蕉国产线看观看亚洲| 久久久久久无码国产精品中文字幕| 久久久久av无码免费网| 久久99精品国产99久久6男男| 亚洲va久久久久| 狠狠色综合久久久久尤物| 久久精品国产亚洲77777| 久久精品国产99久久丝袜| 国产精品欧美久久久天天影视| 久久人与动人物a级毛片| 国内精品免费久久影院| 国内精品久久久久久野外| 久久无码人妻一区二区三区午夜| 久久久久亚洲av成人无码电影| 91精品国产91久久久久福利| 99久久99久久精品国产片果冻| 久久久国产精华液| 色综合久久中文色婷婷| 99精品久久精品一区二区| 久久久噜噜噜www成人网| 久久伊人五月丁香狠狠色| 亚洲国产成人精品无码久久久久久综合 | 亚洲国产精品无码久久一线| 污污内射久久一区二区欧美日韩| 久久99热这里只有精品国产| 久久久99精品成人片中文字幕| 精品久久久久久99人妻| 婷婷久久综合九色综合九七| 中文国产成人精品久久亚洲精品AⅤ无码精品 |