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

相关推荐
Avan_菜菜2 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach101511 小时前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao1 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3102 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao5 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci