KILL命令信号详解

这篇具有很好参考价值的文章主要介绍了KILL命令信号详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

KILL命令信号详解

kill 命令通常用来 “杀死”(终止)进程,它可以用来终止运行不正常的程序或者反过来拒绝终止的程序。kill 命令准确地说并不是 “杀死” 进程,而是给进程发送信号(signal)。和文件一样,进程也有所有者,只有进程的所有者(或超级用户)才能使用 kill 命令来向它发送信号。

语法

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数说明

  • -l <信息编号>  若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
  • -s <信息名称或编号>  指定要送出的信息。
  • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

示例

发送SIGHUP信号,可以使用一下信号

# kill -HUP pid

彻底杀死进程

# kill -9 123456

杀死指定用户所有进程

#kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 
#kill -u hnlinux //方法二

常用信号

信号编号 信号名 含义
1 HUP 挂起信号
2 INT 中断信号
3 QUIT 退出信号
9 KILL 杀死信号
11 SEGV 段错误信号
15 TERM 终止信号,kill命令默认发送的信号类型
18 CONT 继续运行信号,恢复之前接受了STOP信号的进程
19 STOP 暂停信号

信号列表

# 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

信号释义

SIGABRT 由程序调用 abort时产生该信号。 程序异常结束。 进程终止并且产生core文件
SIGALRM timer到期, 有alarm或者setitimer 进程终止
SIGBUS 总线错误,地址没对齐等。取决于具体硬件。 结束终止并产生core文件
SIGCHLD 进程停止或者终止时,父进程会收到该信号。 忽略该信号
SIGCONT 让停止的进程继续执行 继续执行或者忽略
SIGFPE 算术运算异常,除0等。 进程终止并且产生core文件。
SIGHUP 终端关闭时产生这个信号 进程终止
SIGILL 代码中有非法指令 进程终止并产生core文件
SIGINT 终端输入了中断字符ctrl+c 进程终止
SIGIO 异步I/O,跟SIGPOLL一样。 进程终止
SIGIOT 执行I/O时产生硬件错误 进程终止并且产生core文件
SIGKILL 这个信号用户不能去捕捉它。 进程终止
SIGPIPE 往管道写时,读者已经不在了,或者往一个已断开数据流socket写数据。 进程终止
SIGPOLL 异步I/O,跟SIGIO一样。 进程终止
SIGPROF 有setitimer设置的timer到期引发 。 进程终止
SIGPWR Ups电源切换时 进程终止
SIGQUIT Ctrl+\,不同于SIGINT,这个是会产生core dump文件的。 进程终止并且产生core文件
SIGSEGV 内存非法访问,默认打印出segment fault 进程终止并且产生core文件
SIGSTOP 某个进程停止执行,该信号不能被用户捕捉。 进程暂停执行
SIGSYS 调用操作系统不认识的系统调用。 进程终止并且产生core文件
SIGTERM 有kill函数调用产生。 进程终止
SIGTRAP 有调试器使用,gdb 进程终止并且产生core文件
SIGTSTP Ctrl+z,挂起进程。 进程暂停
SIGTTIN 后台程序要从终端读取成数据时。 进程暂停
SIGTTOU 后台终端要把数据写到终端时。 进程暂停
SIGURG 一些紧急的事件,比如从网络收到带外数据。 忽略
SIGUSR1 用户自定义信号 进程终止
SIGUSR2 用户自定义信号 进程终止
SIGVTALRM 有setitimer产生。 进程终止文章来源地址https://www.toymoban.com/news/detail-769794.html

到了这里,关于KILL命令信号详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 信号原理 信号处理设置signal, 信号发送kill,信号等待sigsuspend,信号阻塞sigprocmask,一网打尽信号使用

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 个人主页 :我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. ================================ 信号是一种软中断的方式,让进程陷入中断处理调用中; linux 下信号也是一种进程间通信的手段;进

    2024年02月13日
    浏览(41)
  • 【Linux】进程信号篇Ⅰ:信号的产生(signal、kill、raise、abort、alarm)、信号的保存(core dump)

    kill -l 可以查看所有信号: 其中,前面的数字就是信号,后面的大写英文就是信号名称,实际就是宏。 我们需要关注的是 1~31 号普通信号,关注他们有没有产生(可以用 0 或者 1 表示)。 所以,进程的 pcb 中,需要对产生的信号先用 位图 保存起来,再按照一定的顺序去处理

    2024年01月25日
    浏览(39)
  • Linux中kill %n命令是干啥的?

    在Linux或Unix下,如果你看见别人使用kill %1 或者kill %n (n为一个具体的数字)命令,你知道kill %n 这种带%号的用法是干嘛吗?其实kill %n 表示kill掉后台程序(也可以说是作业),其中n表示Job的编号(number),而不是进程的进程号,下面我们来简单演示一下 在没有完全输出前,然后执

    2024年02月05日
    浏览(114)
  • Linux中kill命令杀不掉进程的解决办法

    1、进程杀不掉的原因有两种: (1)这个进程是僵尸进程 ; (2)此进程是\\\"核心态\\\"进程。 2、解决办法: (1)进入到“/proc/进程号”目录下,执行“cat status”命令可以查询到指定进程的父进程 (2)利用“kill -9 父进程的进程号”将父进程给删除掉 (3)利用“kill 进程号”

    2024年02月12日
    浏览(54)
  • linux 命令 查找进程然后杀掉 ps -ef|grep xxx , kill -9 xxx

    今天在虚拟机里安装jenkins,安装完后运行正常,可以正常访问页面。 安装成功后,我想在命令行kill 掉这个进程,以下是我的操作。 ps -ef |grep java, 可以看到有以下结果,除了jenkins自己的进程外,还有grep java 这个进程。 ok,我们kill 掉jenkins, 执行命令 kill -9 11967 命令执行

    2024年02月08日
    浏览(65)
  • Linux kill 、kill -15、kill -9 的区别

    kill命令格式: kill -Signal pid pid 是进程号,可以用 ps 命令查出 signal 是发送给进程的信号 kill 和 kill -9 ,两个命令在Linux中都有杀死进程的效果,然而两命令的执行过程却大有不同,在程序中如果用错了,可能会造成莫名其妙的现象。 kill(不加 -* 默认kill -15) 命令 系统会发

    2024年02月04日
    浏览(40)
  • 信号:pause、alarm、kill;第二个项目:基于Mplayer的视频播放器

    int pause(void); 功能:让进程睡眠直到接收到捕捉的信号才能继续向下执行 unsigned int alarm(unsigned int seconds); 功能:定时seconds秒后给进程调用发送SIGALRM信号 参数:seconds定时的秒数 返回值:         成功返回之前设定剩余的秒数 int kill(pid_t, int sig) 功能:给PID对应的进程发送

    2024年03月10日
    浏览(53)
  • linux杀死进程(kill -9的使用)

    信号是Linux中非常重要的部分。 信号机制是进程间相互传递消息的一种方法,全称为软中断信号。信号可以看作进程控制的一部分。 基本概念 signal用来通知进程发生了异步事件,进程之间可以互相通过系统调用kill发送软中断信号。但是注意,信号只是用来通知某进程发生了

    2024年02月04日
    浏览(41)
  • linux下kill某个用户所有进程

    参考:linux下4种kill某个用户所有进程的方法_lihuaichen的博客-CSDN博客_linux杀死所有python         使用: top 或者 ps 查看当前用户的运行进程;         使用  kill pid方式可以 杀死某个想杀死的进程; 那么想kill掉所有进程的方法:(4种)         pkill方式:      

    2024年02月11日
    浏览(45)
  • LINUX常见问题之oom kill

    OOM(Out Of Memory)机制为Linux内核中一种自我保护机制,当系统分配不出内存时(触发条件)会触发这个机制,由系统在已有进程中挑选一个占用内存较多,回收内存收益最大的进程杀掉来释放内存。 Linux下允许程序申请比系统可用内存更多的内存(如malloc函数),这个特性叫Overcommi

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包