shell指令“ kill -l ” 查看linux下所有的信号类型。
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$
重点关注 1 ~ 31
| 信号名 | 信号编号 | 产生原因 | 默认处理方式 |
|---|---|---|---|
| SIGHUP | 1 | 关闭终端 | 终止 |
| SIGINT | 2 | ctrl + c | 终止 |
| SIGQUIT | 3 | ctrl + \ | 终止+产生1个转储文件 |
| SIGABRT | 6 | abort()函数 | 终止+转储 |
| SIGPE | 8 | 算术错误 | 终止 |
| SIGKILL | 9 | kill -9 pid | 终止,不可捕获/忽略 |
| SIGUSR1 | 10 | 自定义 | 忽略 |
| SIGSEGV | 11 | 段错误 | 终止+产生1个转储文件 |
| SIGUSR2 | 12 | 自定义 | 忽略 |
| SIGALRM | 14 | alarm()函数 | 终止 |
| SIGTERM | 15 | kill pid | 终止(可以被忽略) |
| SIGCHLD | 17 | 子状态变化 | 忽略 |
| SIGSTOP | 19 | ctrl + z | 暂停,不可捕获/忽略 |
进程异常退出时,通过产生一个 转储文件,可以查看 进程退出现场。
段错误:一般是进程里面返还 非法内存 时产生,或者给野指针赋值
alarm()函数:设置一个定时闹钟,到点后进程会收到一个SIGALRM信号,终止。
pkill命令(接进程名称)
kill pid:需要知道要杀的进程的pid。
pkill 进程名称:即可杀进程
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$ sleep 1000 &
[1] 2896
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$ pkill sleep
[1]+ Terminated sleep 1000
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$ ps aux | grep sleep
jl 2899 0.0 0.0 16180 1128 pts/0 S+ 22:46 0:00 grep --color=auto sleep
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$
jl@jl-virtual-machine:~$
本文详细介绍了Linux下的各种信号类型及其默认处理方式,包括SIGHUP、SIGINT等常见信号的产生原因及用途。此外还演示了如何使用kill命令来终止运行中的进程。
1万+

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



