typedef
void
(*sighandler_t)
(int);
#define
sig_err
((__sighandler_t)-1
)#define
sig_dfl
((__sighandler_t)0)
#define
sig_ign
((__sighandler_t)1)
__sighandler_t signal
(int signum, sighandler_t handler)
;引數:
signum:中斷號碼
handler:中斷處理程式
signal:是乙個signum和handler兩個引數的函式,準備捕捉或遮蔽的訊號由引數signum給出,接收到指定訊號時,將要呼叫的函式由handler給出
handler:這個函式必須有乙個int型別的引數(即接收到的訊號**),他本身的型別是void
handler也可以是下面的兩個特殊值:
sig_ign:遮蔽該訊號
sig_dfl:恢復預設行為
#
include
#include
#include
#include
#include
#include
#include
#include
#include
#define
err_exit
(m)\do\
while(0
)void
handle
(int sig)
;int
main
(int argc,
char
*ar**)
void
handle
(int sig)
#
include
#include
#include
#include
#include
#include
#include
#include
#include
#define
err_exit
(m)\do\
while(0
)void
handler
(int sig)
;int
main
(int argc,
char
*ar**)
void
handler
(int sig)
.phony:clean all
cc=gcc
cflags=
-wall -g
bin=
01signal
all:$(bin)
%.o:%.c
$(cc) $(cflags)
-c $<
-o $@
clean:
rm -f *
.o $(bin)
Signal訊號處理
在goahead的linux模組main.c 檔案中,main函式中出現了以下三個語句 signal sigpipe,sig ign signal sigint,siginthandler signal sigterm,siginthandler 這三條語句與網路訊號有關。在這裡做咯記錄。1.訊號概...
signal 捕捉訊號
file demo6.c synopsis inclue typeof void sighandler t int sighandler t signal int signum,sighandler t handler author mrclimb version 1.1.0 date 2012 0...
signal訊號總結
signaldescription sigabrt 由呼叫abort函式產生,程序非正常退出 sigalrm 用alarm函式設定的timer超時或setitimer函式設定的interval timer超時 sigbus 某種特定的硬體異常,通常由記憶體訪問引起 sigcancel 由solari...