54-信号及响应方式
创始人
2025-05-31 14:48:46

一.信号

1.信号的基本概念

信号是系统响应某个条件而产生的事件,进程接收到信号会执行相应的操作;
与信号有关的系统调用在头文件中:

2.信号的存储位置:

vim /usr/include/x86_64-linux-gnu/bits/signum.h

3.常见信号的值,及对应的功能说明

在这里插入图片描述

4.信号的值在系统源码中的定义如下:

信号名称 信号代号

#define SIGHUP 1
#define SIGINT 2 //键盘按下 Ctrl+c 时,会产生终端中断信号
#define SIGQUIT 3//键盘按下 Ctrl+\ 时,会产生终端退出信号

  #define SIGILL 4#define SIGTRAP 5#define SIGABRT 6#define SIGIOT 6#define SIGBUS 7#define SIGFPE 8#define SIGKILL 9 //该信号的响应方式不允许改变#define SIGUSR1 10#define SIGSEGV 11#define SIGUSR2 12#define SIGPIPE 13 //读端关闭的描述符,写端写入时产生,该信号会终止程序(向 无读进程的管道写数据)#define SIGALRM 14#define SIGTERM 15 //系统 kill 命令默认发送的信号#define SIGSTKFLT 16#define SIGCHLD 17 //子进程结束后,会默认给父进程发送该信号#define SIGCONT 18#define SIGSTOP 19#define SIGTSTP 20#define SIGTTIN 21#define SIGTTOU 22#define SIGURG 23

二.相应方式

三种相应方式:默认,忽略,自定义

三.改变信号的方式

1.设置信号的相应方式:通过函数signal();

man signal:
在这里插入图片描述

2.默认:SIG_DFL,忽略:SIC_IGN;

自定义:void fun_sig(int sig);

3.默认响应方式

在这里插入图片描述
ctr+c 结束程序;

4.自定义相应方式

在这里插入图片描述
ps -ef|grep “程序名字”
kill -9 PID
或者ctrl+\ 结束程序;

5.忽略

在这里插入图片描述

相关内容

热门资讯

金风科技股价涨5.68%,新疆... 12月23日,金风科技涨5.68%,截至发稿,报17.85元/股,成交15.64亿元,换手率2.67...
三维天地跌2.09%,成交额2... 12月23日,三维天地盘中下跌2.09%,截至10:16,报34.61元/股,成交2920.46万元...
易方达纳斯达克100ETF(Q... 数据显示,12月22日,易方达纳斯达克100ETF(QDII)(159696)获净申购354.86万...
金风科技股价涨5.68%,万家... 12月23日,金风科技涨5.68%,截至发稿,报17.85元/股,成交15.70亿元,换手率2.68...
金风科技股价涨5.68%,民生... 12月23日,金风科技涨5.68%,截至发稿,报17.85元/股,成交15.72亿元,换手率2.68...