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

相关推荐
captain3764 分钟前
▲网络原理(2)-TCP
java·服务器·网络·tcp/ip·java-ee
言乐61 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
蓝速科技4 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
H_oRIZoN_5 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
小马同学-6 小时前
OpenStack 使用实战:Web 界面与 CLI 命令行实验
运维·云计算·openstack
GeW6 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu7 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊7 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
码农小韩7 小时前
Linux应用开发(六)——进程间通信
linux·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用
网安老伯7 小时前
都2026年了,还在问网络安全怎么入门?看完这一篇你就懂了
运维·计算机网络·web安全·网络安全·wireshark·密码学·网络攻击模型