Linux kill命令给进程发信号

Linux系统中进程之间可以通过信号进行通信。kill命令可以通过进程ID(即PID)给进程发信号,格式示例如下。当直接使用“kill <pid>”命令时,默认发送SIGTERM信号。

kill -<signal> <pid>

进程信号如下:

信号名称

描述

SIGHUP    

1  

Hangup (POSIX)                  

挂起

SIGINT    

2  

Interrupt (ANSI)                

中断;e.g.终端键入DELETE或ctrl+c按键

SIGQUIT   

3  

Quit (POSIX)                    

结束运行;e.g.终端键入ctrl+\按键

SIGILL    

4  

Illegal instruction (ANSI)      

非法指令

SIGTRAP   

5  

Trace trap (POSIX)              

Trace追踪

SIGABRT   

6  

Abort (ANSI)                    

abort()异常终止

SIGBUS    

7  

BUS error (4.2 BSD)             

硬件故障

SIGFPE    

8  

Floating-point exception (ANSI) 

浮点异常

SIGKILL   

9  

Kill, unblockable (POSIX)       

无条件终止

SIGUSR1   

10 

User-defined signal 1 (POSIX)   

用户定义信号1

SIGSEGV   

11 

Segmentation violation (ANSI)   

段错误

SIGUSR2   

12 

User-defined signal 2 (POSIX)   

用户定义信号2

SIGPIPE   

13 

Broken pipe (POSIX)             

管道破裂

SIGALRM   

14 

Alarm clock (POSIX)             

超过alarm()设置的时间

SIGTERM   

15 

Termination (ANSI)              

尽可能终止

SIGSTKFLT 

16 

Stack fault                     

栈异常,默认终止进程

SIGCHLD   

17 

Child status has changed (POSIX)

子进程状态改变

SIGCONT   

18 

Continue (POSIX)                

使暂停进程继续运行

SIGSTOP   

19 

Stop, unblockable (POSIX)       

无条件停止运行,但不终止

SIGTSTP   

20 

Keyboard stop (POSIX)           

停止或暂停,但继续在后台运行;e.g.ctrl+z

来看看kill命令的使用示例,如下图,“./simple_test &”后台运行程序,ps l命令可以看到该程序的PID=5482,“kill 5482”给该进程发送SIGTERM信号尽可能终止,程序被终止成功。

下面示例是./执行程序后键入ctrl+z按键,使程序暂停但继续在后台运行。此时发送SIGTERM信号尽可能终止该进程失败,发送SIGKILL信号无条件终止进程成功。从中也可以看出两个信号的区别。

备注:图中"kill -SIGKILL 5517"等同于"kill -9 5517",前者对读者更友好一点。

使用kill命令需要注意权限问题。上面两个例子,bash所属用户与程序进程所属用户相同,所以可以直接发送信号。例如下图,普通用户给root用户PID=1的进程发送信号失败,提示"Operation not permitted"不允许操作。当然,最简单直接的就是切换为root用户,你想kill哪个进程就kill哪个进程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值