ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【2018-11-23】linux信号相关笔记和网址记录

2026/9/29 11:17:40 拓冰建站 浏览量
【2018-11-23】linux信号相关笔记和网址记录 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2018-11-23 标题linux信号相关笔记和网址记录分类编程 标签linux·signalLinux信号简单笔记参考链接Linux 发送信号的相关C函数多线程与信号集参考链接https://www.cnblogs.com/lidabo/p/4581026.htmlhttps://blog.csdn.net/weixin_41656968/article/details/79232979https://www.cnblogs.com/zhanggaofeng/p/5847232.htmlkill -l 查看当前linux下支持的信号列表:~$ kill -lSIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAPSIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERMSIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTPSIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZSIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWRSIGSYS 34) SIGRTMIN 35) SIGRTMIN1 36) SIGRTMIN2 37) SIGRTMIN3SIGRTMIN4 39) SIGRTMIN5 40) SIGRTMIN6 41) SIGRTMIN7 42) SIGRTMIN8SIGRTMIN9 44) SIGRTMIN10 45) SIGRTMIN11 46) SIGRTMIN12 47) SIGRTMIN13SIGRTMIN14 49) SIGRTMIN15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2SIGRTMAX-1 64) SIGRTMAXkill命令kill默认发送SIGTERM()的信号若其被signal捕捉那我们也不慌记住一招kill -9 加进程号或者是killall -9 加进程名发送SIGKILL的信号任何程序都会被秒杀。Linux 发送信号的相关C函数使用kill函数int kill(pid_t pid,int sig);参数pid指定一个要接受信号的进程而sig是要发送的信号。使用raise函数int raise(int signum);kill函数将信号发送给特定进程raise函数允许进程向自身发送信号raise(signum)相当于kill(getpid(),signum);使用alarm函数alarm函数设置了一个定时器当定时器到了给当前进程发送SIGALRM信号。unsigned int alarm(unsigned int seconds);seconds是计时器时间到后时钟的秒数。如果没有设置其他超时函数返回0否则返回值为前面安排超时中保留的秒数。一个进程只能设置一次超时把seconds设置为0可以取消前面的超时设置。abort函数void abort(void);该函数发送SIGABRT信号给调用进程进程不应该忽略这个信号。即使进程捕捉到SIGABRT这个信号进程还是会异常退出让进程捕捉SIGABRT的意图是在进程终止前由其执行所需的清理操作。sleep函数unsigned int sleep(unsigned int seconds);参数seconds指定了睡眠时间,超过seconds制定时间函数返回。调用线程捕捉到一个信号并从信号处理程序返回。sleep()函数只要捕捉到一个信号就会终止sleep()函数。pause函数int pause(void);pause函数挂起调用它的进程直到有任何消息到达。调用进程必须有能力处理送达的信号否则信号的默认部署就会发生。只有进程捕获到一个信号的时候pause才返回如果递送到的信号引发了对信号的处理那么处理工作将在pause返回前执行。settimer/gettimer函数https://blog.csdn.net/lu_embedded/article/details/53080496sigaction,sigqueue,signalhttps://www.cnblogs.com/zhanggaofeng/p/5848005.htmlhttps://blog.csdn.net/jnu_simba/article/details/8947652多线程与信号集https://www.cnblogs.com/cobbliu/p/5592659.htmlhttps://blog.csdn.net/yusiguyuan/article/details/14237277https://blog.csdn.net/q1007729991/article/details/62892105https://www.cnblogs.com/mickole/p/3191281.htmlhttps://www.cnblogs.com/mickole/