易忘记和理解错误的常用命令之 kill 命令

我经常有段时间没用linux 的时候,会把他理解成杀死一个进程,实际上不是这样的。

kill命令是用进程发送一个信号,至于是什么信号,可以用户指定.

语法 :  kill  [-signal] pid 

比如: kill -9  9198    kill  -SIGTERM  9188   kill -TERM  9188  


经常用到只有下面吧:

1: HUP 挂起      2:INT 中断    3:QUIT 退出    9:KILL 杀死   11 SEGV 段错误  

15:TERM 软件终止     

他们默认情况下,执行的动作都是终止进程。

默认情况下kill 命令发送TERM信号,请求终止操作。

CRTL + C 是发送了中断信号, INT  .

最后一个很实用的命令:kill -kill pid    kill -9 xxx   这个信号永远不会被捕获,可以在内核级别杀死一个进程。

 #include <signal.h>
 typedef void (*sighandler_t)(int);

sighandler_t signal(int signum, sighandler_t handler);

返回值: 上一个sighandler_t,先前信号处理是怎么样,或者 SIG_ERR

第一个参数是: 信号编号,可用KILL -l 显示找到, 第二个参数是 信号处理函数 ,回调函数,当信号产生的时候调用,

猜你喜欢

转载自blog.csdn.net/m_1308347688/article/details/79823936