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

相关推荐
承渊政道4 分钟前
数据删了不等于销毁:KingbaseES敏感数据物理擦除实战指南
运维·服务器·数据库·数据仓库·安全·oracle·业界资讯
精益数智小屋4 分钟前
什么是进销存库存表?进销存库存表包含哪些内容?
大数据·运维·数据库·人工智能·安全
2023自学中10 分钟前
Linux 多线程 + 信号,统一屏蔽哪些信号?什么是异步信号,同步信号?
linux·嵌入式
win水11 分钟前
七、Linux 进程
linux·进程
淼淼爱喝水11 分钟前
Ansible 中 handler 与 notify 的作用与使用详解
linux·网络·apache·playbook
sbjdhjd14 分钟前
Docker 安全优化实战手册(企业级硬核版)
linux·运维·docker·云原生·容器·eureka·kubernetes
爱吃苹果的梨叔16 分钟前
2026年清虹分布式坐席系统如何破局技术内卷与运维成本困局
运维·分布式
小周技术驿站16 分钟前
Linux 基础命令详解
linux·前端·chrome·ubuntu·centos
沙振宇16 分钟前
【DevOps】从零搭建:自建服务器公网 IP 部署指南
服务器·tcp/ip·devops·公网ip·自建服务器
终端行者16 分钟前
Jenkins Pipeline 构建后推送到Nexus制品库 jenkins 如何连接Nexus?企业级实战 --中 Jenkins 连接Nexus 实战
运维·ci/cd·docker·jenkins·nexus