Linux的kill命令怎么使用(kill命令,linux,开发技术)

时间:2024-04-30 00:28:01 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Linux常用命令kill命令主要用于发送信号到进程。

Linux的kill命令怎么使用

kill

发送信号到进程。

目录

  • bash内建命令

  • GNU coreutils中的命令

内建命令

概要
kill[-ssigspec|-nsignum|-sigspec]pid|jobspec...kill-l[sigspec]
主要用途
  • 发送信号到作业或进程(可以为多个)。

  • 列出信号。

选项
-ssig信号名称。-nsig信号名称对应的数字。-l列出信号名称。如果在该选项后提供了数字那么假设它是信号名称对应的数字。-L等价于-l选项。
参数

pid:进程ID

jobspec:作业标识符

返回值

返回状态为成功除非给出了非法选项、执行出现错误。

例子
[user2@pc]kill-l9KILL#列出所有信号名称:[user2@pc]kill-l1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+338)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+843)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+1348)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-1253)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-758)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-263)SIGRTMAX-164)SIGRTMAX#下面是常用的信号。#只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。HUP1终端挂断INT2中断(同Ctrl+C)QUIT3退出(同Ctrl+\)KILL9强制终止TERM15终止CONT18继续(与STOP相反,fg/bg命令)STOP19暂停(同Ctrl+Z)
#以下发送KILL信号的形式等价。当然还有更多的等价形式,在此不一一列举了。[user2@pc]kill-sSIGKILLPID[user2@pc]kill-sKILLPID[user2@pc]kill-n9PID[user2@pc]kill-9PID[user2@pc]sleep90&[1]178420#终止作业标识符为1的作业。[user2@pc]kill-9%1[user2@pc]jobs-l[1]+178420KILLEDssh192.168.1.4[user2@pc]sleep90&[1]181357#发送停止信号。[user2@pc]kill-sSTOP181357[user2@pc]jobs-l[1]+181537Stopped(signal)sleep90#发送继续信号。[user2@pc]kill-sCONT181357[user2@pc]jobs-l[1]+181537Runningsleep90&
注意
  1. bash的作业控制命令包括bg fg kill wait disown suspend。

  2. 该命令是bash内建命令,相关的帮助信息请查看help命令。

外部命令

概要
kill[-signal|-ssignal|-p][-qvalue][-a][--]pid|name...kill-l[number]|-L
主要用途
  • 发送信号到进程(可以为多个)。

  • 列出信号。

选项
-s,--signalsignal要发送的信号,可能是信号名称或信号对应的数字。-l,--list[number]打印信号名称或转换给定数字到信号名称。信号名称可参考文件(/usr/include/linux/signal.h)。-L,--table和'-l'选项类似,但是输出信号名称以及信号对应的数字。-a,--all不要限制“命令名到pid”的转换为具有与当前进程相同的UID的进程。-p,--pid打印目标进程的PID而不发送信号。--verbose打印信号以及接收信号的PID。-q,--queuevalue使用sigqueue(3)而不是kill(2)。参数value是信号对应的数字。如果接收进程已为此信号安装了处理程序将SA_SIGINFO标记为sigaction(2),则可以获取该数据通过siginfo_t结构的si_sigval字段。--help显示帮助信息并退出。--version显示版本信息并退出。
参数

接收信号的进程列表可以是PID以及name的混合组成。

PID:每一个PID可以是以下四种情况之一:

状态说明n当n大于0时,PID为n的进程接收信号。0当前进程组中的所有进程均接收信号。-1PID大于1的所有进程均接收信号。-n当n大于1时,进程组n中的所有进程接收信号。当给出了一个参数的形式为“-n”,想要让它表示一个进程组,那么必须首先指定一个信号,或参数前必须有一个“–”选项,否则它将被视为发送的信号。

name:使用此名称调用的所有进程将接收信号。

例子
>sleep20&#列出对应的PID。>kill-psleep23021
返回值
  • 0 成功。

  • 1 失败。

  • 64 部分成功(当指定了多个进程时)。

注意
  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 kill或info coreutils 'kill invocation'。

  2. 启动或关闭内建命令请查看enable命令,关于同名优先级的问题请查看builtin命令的例子部分的相关讨论。

  3. 与kill命令类似的有xkill,pkill,killall等,用于不同的目的和场景。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Linux的kill命令怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Linux系统如何安装asp.net vNext下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18