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

相关推荐
feng_you_ying_li21 分钟前
linux之网络层
linux·运维·网络
未来之窗软件服务29 分钟前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
卓豪终端管理32 分钟前
IT 运维视角下的终端数据安全:能力框架与落地清单
运维
小雉系统41 分钟前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter43 分钟前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
甜到心里的蛋糕1 小时前
从 QQ 机器人到 B 站 AI 运营:一套可复现的视频流水线踩坑实录
运维·人工智能·python·自动化·视频制作
QYR-分析1 小时前
26.2% 高增!场内及园区无人物流车,厂内短驳自动化的 L4 货运载体
运维·自动化
熊猫钓鱼>_>1 小时前
鸿蒙 PC 三方库适配复盘:libfvad 1.0 —— 把 WebRTC VAD 做成能装进采集链路的静态库
服务器·开发语言·华为·harmonyos·openharmony·适配·鸿蒙pc
用户8351414049491 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
java_logo1 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像