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:指定发送信号的类型

相关推荐
腾讯蓝鲸智云13 小时前
标杆客户实践提炼:CFlow 版本价值流模板实战指南
运维·服务器·自动化·云计算·devops
阿标的博客13 小时前
Active Directory 组织单位和用户
服务器
Deryck_德瑞克14 小时前
【Nginx】配置差异分析
服务器·前端·nginx
前端 贾公子14 小时前
第06章:结构化输出 (上)
java·服务器·前端
Yang961114 小时前
自动化射频测试台快速搭建,鼎讯信通 DXSL 矢量信号源模块二次开发集成指南
运维·自动化
一只小菜鸡..15 小时前
南京大学 操作系统 (JYY) 学习笔记:持久化的黑魔法——从磁铁、刻坑到闪存电荷
服务器·笔记·学习
翼龙云_cloud15 小时前
腾讯云国际站代理商: COS 对象存储 + CDN加速 从创建到加速完成
运维·服务器·云计算·腾讯云
aFakeProgramer15 小时前
Linux版本兼容问题及RTA-VRTE环境配置笔记
linux·笔记
Zhu75815 小时前
在Ubuntu24快速配置专用SFTP
linux·sftp
码农客栈15 小时前
Linux 内核顶层 Makefile 详解
linux