文章目录
1.各种信号
1信号SIGHUP:hub 进程重新读取对应的配置文件(不重启计算机,就可以生效)
2信号SIGINT :中断------ctrl+c 就会触发该信号int
3信号SIGQUIT:从键盘上杀死进程的信号 ctrl+\ 也就是发送QUIT信号(只对终端内的进程有效)
9信号SIGKILL:必杀信号,强制杀死进程(无法捕捉信号),KILL信号不做善后,例如:临时清理文件,刷新磁盘等
15信号SIGTERM:终止进程,(安全),有善后
18信号SIGCONT:让进程从stopped状态恢复—进入就绪队列
19信号SIGSTOP:必停信号,让进程处于stopped状态,为shell提供
20信号SIGTSTP:让进程处于stopped状态,相当于ctrl+z就是发送tstp信号
21信号SIGTTIN:后台进程读取终端数据时,(默认方式–终止该后台进程)
22进程SIGTTOU:后台进程输出数据时(默认方式–终止该后台进程)
17信号SIGCHLD:子进程终止时,内核发送信号给父进程(被省略)
10信号SIGUSR1和12SIGUSR2:默认是提供给用户自定义的信号
2.信号捕捉trap
Trap捕获某个信号,不去做原有的操作,只操作自己指定的操作
trap '触发指令' 信号进程收到系统发出的指定信号后,将执行自定义指令,而不会执行原操作
trap '' 信号忽略信号的操作
trap '-' 信号恢复原信号的操作
trap -p列出自定义信号操作
trap finish EXIT 当脚本退出时,执行finish函数<

本文详细介绍了Shell中的各种信号,如SIGHUP、SIGINT、SIGKILL和SIGTERM等,以及如何通过trap命令捕获并自定义信号处理,特别是讨论了finish函数在异常退出时清理临时文件的重要性。
最低0.47元/天 解锁文章
3091

被折叠的 条评论
为什么被折叠?



