SIGINT,SIGQUIT,SIGTERM,SIGQUIT 这些停止进程的信号有什么不同

 2) SIGINT
程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

3) SIGQUIT
和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。

15) SIGTERM
程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理。通常用来要求程序自己正常退出,shell命令kill缺省产生这个信号。如果进程终止不了,我们才会尝试SIGKILL。

19) SIGSTOP
停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别:该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.

http://blog.csdn.net/ifengle/archive/2009/01/22/3849783.aspx

http://blog.csdn.net/lanmanck/archive/2009/09/19/4568911.aspx


三者都是结束/终止进程运行。

1.SIGINT SIGTERM区别

前者与字符ctrl+c关联,后者没有任何控制字符关联。

前者只能结束前台进程,后者则不是。

2.SIGTERM SIGKILL的区别

前者可以被阻塞、处理和忽略,但是后者不可以。KILL命令的默认不带参数发送的信号就是SIGTERM.让程序有好的退出。因为它可以被阻塞,所以有的进程不能被结束时,用kill发送后者信号,即可。即:kill-9 进程号。


信号是进程间通信的底层形式。

linux有标准信号32个,从32-63的信号是“实时”信号。

发送信号的原因

硬件异常:如0作为除数,内核会发送SIGFPE(信号值8)

软件异常:如进程终止时,内核会给父进程发送SIGCHLE(信号值17),窗口大小调整,应用程序会收到SIGWINCH(信号值28)

普通用户使用的信号:

信号值      符号      行为

         SIGINT    进程终端,CTRL+C

         SIGKILL   强制终端

15         SIGTEM    请求中断

20         SIGTOP    停止(挂起)进程 CRTL+D

1. kill

kill的应用是和ps 或pgrep 命令结合在一起使用的;

kill的默认信号是15,后面接的是pid号数字

kill -15 12345   //12345

2、pkill

kill的默认信号是15,后面接的是进程名

pkill -u user 选择用户user所拥有的进程

       -t term 选择term终端控制的进程,也可以是pst/1,pst/2等

3、killall

killall 通过程序的名字,直接杀死所有进程。

用法:killall 正在运行的程序名

killall 也和ps或pgrep 结合使用,比较方便;通过ps或pgrep 来查看哪些程序在运行;

举例:

[root@localhost beinan]# pgrep -l vi

1129 gaim

[root@localhost beinan]# killall vi

4、在top中使用k键中断


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值