Linux——信号的使用

一、信号的基本概念

信号是系统响应某个条件而产生的事件,进程接收到信号会执行相应的操作。(软中断

与信号有关的系统调用在"signal.h"头文件中有声明。

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

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

二、修改信号的相应方式 signal()

1.signal()

signal():替换信号功能

bash 复制代码
typedef void (*sighandle_t)(int);
sighandle_t (*signal)(int sig, sighandle_t sig_fun);

sig:修改的信号值

sig_fun:修改后的行为

2.常用信号SIGINT

SIGINT :该信号由 Ctrl+C 产生,功能是终端中断

2.SIG_IGN

SIG_IGN:忽略该信号

3.SIG_DFL

SIG_DFL:恢复默认行为

三、发送信号 kill()

kill():可以向指定的进程发送指定的信号。

bash 复制代码
int kill(pid_t pid, int sig);

pid > 0:指定将信号发送给那个进程

pid == 0:指定被发送到和当前进程在同一个进程组的进程

pid == -1:将信号发送给系统上有权限发送的所有的进程

pid < -1:将信号发送给进程组id等于pid绝对值,并且有权限发送的所有的进程

sig:指定发送信号的类型

相关推荐
炘爚2 小时前
C++实现分布式集群聊天服务器
服务器·c++·分布式
KuaCpp2 小时前
Linux从0到1学习
linux·学习
优化Henry2 小时前
新建LTE站点光功率劣化分析与处理案例
运维·网络·5g·信息与通信
志栋智能2 小时前
运维超自动化的本质:效率、质量与创新的三重奏
运维·服务器·数据库·安全·自动化
y小花2 小时前
安卓vold服务
android·linux·运维
开开心心就好2 小时前
体积小巧的图片重复查找工具推荐
linux·运维·服务器·智能手机·自动化·excel·fabric
tryqaaa_2 小时前
学习日志(一)【含markdown语法,Linux学习】
linux·运维·学习·web安全·web·markdown
渔民小镇2 小时前
5 分钟搭建桌游服务器:Room 模块 + 领域事件实战
java·运维·服务器·分布式·游戏
小义_2 小时前
【Kubernetes】(七) 控制器2
linux·运维·云原生·kubernetes·红帽