"我的天呀!", 网页编辑没有自动保存草稿的功能. 害的我昨天写的东西都没有了. 算了, 不计较这些了. 反正也没写多少.
嘻嘻.
大家对 kill -9 肯定非常熟悉, 在工作中也经常用到. 特别是你去重启 tomcat 时. 可是多半看来, 我们对 - 9 的理解只是表面而已.
很少有人 (包括我) 认真的去了解一下 kill -n 这个 n 到底是什么东东. 自我批评一下.
好吧. 我们来好好的认识一下这个熟悉的陌生人.
1)kill
从 help 中可以清晰的看到 -n 指的是 信号编号, 那问题来了,"信号编号" 是哪位大神???
2)kill -l(查看 Linux/Unix 的信号变量)
这么多呀!! 今天就单独说一下 SIGKILL 和 SIGTERM
3)(kill pid) ,( kill -15 pid)
系统会发送一个 SIGTERM 的信号给对应的程序. 当程序接收到该 signal 后, 将会发生以下的事情
程序立刻停止
当程序释放相应资源后再停止
程序可能仍然继续运行
大部分程序接收到 SIGTERM 信号后, 会先释放自己的资源, 然后在停止. 但是也有程序可以在接受到信号量后, 做一些其他的事情, 并且这些事情是可以
配置的. 如果程序正在等待 IO, 可能就不会立马做出相应.
也就是说, SIGTERM 多半是会被阻塞的, 忽略.
4)kill -9 pid
你不是可以不响应 SIGTERM 吗?? 那好, 我给你下一道必杀令, 我看你还不乖乖的. 多半 admin 会用这个命令
不过, 也不是所有的程序都会乖乖听话, 总有那些状态下的程序无法立刻相应.
附录:
Linux signals
Signal Name | Number | Description |
SIGHUP | 1 | Hangup (POSIX) |
SIGINT | 2 | Terminal interrupt (ANSI) |
SIGQUIT | 3 | Terminal quit (POSIX) |
SIGILL | 4 | Illegal instruction (ANSI) |
SIGTRAP | 5 | Trace trap (POSIX) |
SIGIOT | 6 | IOT Trap (4.2 BSD) |
SIGBUS | 7 | BUS error (4.2 BSD) |
SIGFPE | 8 | Floating point exception (ANSI) |
SIGKILL | 9 | Kill(can‘t be caught or ignored) (POSIX) |
SIGUSR1 | 10 | User defined signal 1 (POSIX) |
SIGSEGV | 11 | Invalid memory segment access (ANSI) |
SIGUSR2 | 12 | User defined signal 2 (POSIX) |
SIGPIPE | 13 | Write on a pipe with no reader, Broken pipe (POSIX) |
SIGALRM | 14 | Alarm clock (POSIX) |
SIGTERM | 15 | Termination (ANSI) |
SIGSTKFLT | 16 | Stack fault |
SIGCHLD | 17 | Child process has stopped or exited, changed (POSIX) |
SIGCONT | 18 | Continue executing, if stopped (POSIX) |
SIGSTOP | 19 | Stop executing(can‘t be caught or ignored) (POSIX) |
SIGTSTP | 20 | Terminal stop signal (POSIX) |
SIGTTIN | 21 | Background process trying to read, from TTY (POSIX) |
SIGTTOU | 22 | Background process trying to write, to TTY (POSIX) |
SIGURG | 23 | Urgent condition on socket (4.2 BSD) |
SIGXCPU | 24 | CPU limit exceeded (4.2 BSD) |
SIGXFSZ | 25 | File size limit exceeded (4.2 BSD) |
SIGVTALRM | 26 | Virtual alarm clock (4.2 BSD) |
SIGPROF | 27 | Profiling alarm clock (4.2 BSD) |
SIGWINCH | 28 | Window size change (4.3 BSD, Sun) |
SIGIO | 29 | I/O now possible (4.2 BSD) |
SIGPWR | 30 | Power failure restart (System V) |
参考文献:
来源: http://www.bubuko.com/infodetail-3107839.html