(P16)訊號 中斷 訊號 signal

2021-10-08 18:11:46 字數 1625 閱讀 1989

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...