) pgrep firefox | xargs kill -s 9 c) pidof firefox | xargs kill -s 9 或 d) kill -s 9 `ps -ef | grep firefox 6 —— pkill pkill 类似于 pgrep, pkill 表示 pgrep+kill 例如: pkill firefox 3) killall killall命令, 杀死同一进程组内的所有进程 5) kill -l 例如: kill -l PID -l 选项, 告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。 6) kill -HUP 有时候只想简单的停止和重启进程。 例如: # kill -HUP PID 该命令让Linux和缓的执行进程关闭,然后立即重启。 附录:各种信号及其用途 Signal Description Signal number on Linux x86 SIGABRT Process aborted 6 SIGALRM Signal raised
绝大多数人对 kill 命令的理解就是结束一个进程,除了这个 kill 其实还有其它的功能。 kill 的作用是向一个进程发送指定信号,而不仅仅是结束一个进程哦! 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 -l 参数也可以根据信号名称列出代表的数字,如下所示: linuxy@linuxy:~$ kill -l 9 KILL linuxy@linuxy:~$ kill -l KILL 9 linuxy@linuxy
2核2G云服务器首年95元,GPU云服务器低至9.93元/天,还有更多云产品低至0.1折…
先来看kill命令 我们kill命令kill掉31513这个进程: [root@yeyz ~]# kill 31513 [root@yeyz ~]# ps -ef|grep mysql root 进程 其实这说明,kill命令和kill -9命令的机制是不一样的,我们可以使用kill -l命令来查看kill命令的信号说明: [root@yeyz ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
语法 kill pid ... kill {-signal | -s signal} pid ... kill {-l | --list[=signal] | -L | --table} 参数 -signal 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 kill -l 在表格中列出可用的信号名称和编号。 kill -L 终端断线,重新加载配置文件,平滑重启。
kill ? kill 可以用 kill -l 来查看具体有哪些信号编码,这里重点关注 9) SIGKILL 和 15) SIGTERM。 ? kill -l kill -15 pid(默认) 执行完该指令后,操作系统会发送一个 SIGTERM 信号给对应的程序。 kill -9 pid 如果 15) SIGTERM 可以不进行响应?那 9) SIGKILL就是必杀信号,多半 ROOT 会直接使用这个命令,但并不推荐这么做。 小结:在使用 kill -9 前,应该先使用 kill -15,给目标进程一个清理善后工作的机会。如果没有,可能会留下一些不完整的文件或状态,从而影响服务的再次启动。
四、使用实例: 实例1:列出所有信号名称 命令:kill -l 输出: [root@localhost test6] kill -l 1) SIGHUP 2) SIGINT 3 15 [root@localhost ~] kill -l SIGTERM 15 实例3:先用ps查找进程,然后用kill杀掉 命令: kill 3268 输出: [root@localhost test6 kill 3268 [root@localhost test6] kill 3268 -bash: kill: (3268) - 没有那个进程 实例4:彻底杀死进程 命令: kill –9 3268 @localhost test6]# kill 3268 -bash: kill: (3268) - 没有那个进程 [root@localhost test6]# 实例5:杀死指定用户所有进程 命令: peidalinux) [root@localhost ~] kill -u peidalinux 说明: 方法一,过滤出hnlinux用户进程并杀死 实例6:init进程是不可杀的 命令: kill
linux 系统可以采用 kill 加信号编号的方式来关闭进程。 例如 kill -9 PID 可以使用 kill -l 命令,查看所有的信号编号。 ? 简单来说: kill -9 PID 是操作系统从内核级别强制杀死一个进程. kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭.
背景 今天用jps查看进程时发现了几个进程,我希望把他们批量删除了 kill 尝试用kill -9删除,但是一个一个删除太麻烦了,我换了个方法 管道 先用ps命令查出所有进程,然后grep找到我想要的进程 ,awk用于取出第二列的进程号 ,再用xargs传递参数kill ps -aux | grep java | awk '{print $2}' | xargs kill -9 无法kill 再用jps 这个进程处于核心态,不接受信号 /proc 为了排查问题,我进入了/proc目录,这里保存了每一个运行进程的对应目录 选择进入13547进程目录,cat status文件 可以发现该进程的父进程是13546,再kill 掉这个父进程就会发现这个子进程也被kill掉啦
对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。 命令格式 kill[参数][进程号 命令功能 发送指定的信号到相应进程。 发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。 列出所有信号名称 > kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
我们来看下Kill命令的相关源码,Kill是用户进程发送信号的系统调用,它的系统服务例程为sys_kill。 sys_kill调用了kill_something_info函数,具体可参考源码所示: static int kill_something_info(int sig, struct siginfo *info return kill_proc_info(sig, info, pid); } } 基于kill_something_info,从该函数中,我们可以看到kill系统调用的 kill_something_info函数的kill_pg_info所涉及的内容较多,本文暂列出部分。 3、若此应用服务进程调用较为单一,在合适的时刻,优先使用Kill -15,实在不行再考虑Kill -9。
我们很多人对kill -9 非常熟悉,在工作中也经常用到。特别是你去重启服务的时候。但是所有的服务都能用kill -9来处理吗?kill -9能杀掉所有的进程吗? 首先我们来了解一下 kill -n 中的n到底是什么东西。 kill 从help中可以清晰的看到 -n 指的是 信号编号,那问题来了,什么是“信号编号”? kill -l(查看Linux/Unix的信号变量) 下面先说一下SIGKILL(kill -9)和SIGTERM(kill -15) kill -9、kill -15 kill -9 PID 是操作系统从内核级别强制杀死一个进程 . kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭. ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' 来确认是否已经将僵尸进程杀死 如果kill 子进程无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程
现在需要kill掉,但是一个个kill掉太繁琐了 使用如下命令: ps -ef|grep orderMatcherSend.php |grep -v grep|cut -c 9-15|xargs kill
发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。 列出所有信号名称 > kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 CONT 18 继续(与STOP相反, fg/bg命令) STOP 19 暂停(同 Ctrl + Z) 得到指定信号的数值 > kill -l KILL 9 先用ps查找进程,然后用kill
Linux kill 命令用于删除执行中的程序或工作。 语法格式:kill [参数] [进程号] 常用参数: -l 列出系统支持的信号 -s 指定向进程发送的信号 -a 处理当前进程时不限制命令名和进程号的对应关系 -p 指定kill命令只打印相关进程的进程号 ) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
kill:指定将信号发送给某个进程,常用来杀掉进程,可以通过ps、top命令来查看进程 在默认情况下: 采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。 对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。 可以使用kill -l 来列出所有型号名称,如下图所示: ? 终端断线 INT 2 中断(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 终止 KILL 9 强制终止, 无条件终止进程 CONT 18 继续(与STOP相反,fg/bg命令) STOP 19 暂停(同 Ctrl + Z) 实例: kill -9 787 //强制杀死787进程号的进程 kill -10 787 //发送信号10给787进程号的进程
kill -HUP pid pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。 然后,xargs 命令接受每个进程 ID(因为使用了 -L 1 以便一次提取一行内容),并使用 sudo kill -HUP 向相应的进程发送一个挂起信号。 LINUX和Unix都适用: 改/etc/ssh/sshd_config,将里面的Port改为新端口,比如10022,然后 kill -HUP `cat /var/run/sshd.pid` 就行了 现有连接自己不会断,因为kill -HUP `cat /var/run/sshd.pid` 只是HUP监听的那个,已经建立的连接(不同的 pid)不会断。 PS: HUP(1)是让进程挂起,睡眠; kill (9)六亲不认的杀掉 term(15)正常的退出进程 因为进程可能屏蔽某些信号,所以它们的用处也就不一样。。。
ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。 "xargs kill -9"中的xargs命令是用来把前面命令的输出结果(PID)作为"kill -9"命令的参数,并执行该令。 "kill -9"会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改"grep php"中的关键字部分就可以了。
名称:kill 使用权限:所有使用者 使用方式: kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号 把计 -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l -p : 印出 pid , 并不送出信号 -l (signal) : 列出所有可用的信号名称 范例: 将 pid 为 323 的行程砍掉 (kill) : kill -9 323 将 pid 为 456 :标准的kill命令通常都能达到目的。
cancel_cur_computer(): #通过抛出异常,来终止当前执行节点 logging.warning("%s timeout killed" % str(os.getpid())) os.kill pool.apply_async(run),可以打印出logging.warning("%s timeout killed" % str(os.getpid())),但进程没有被杀死,反而一直卡死在os.kill
弹性公网 IPv6(EIPv6)为您提供快速、安全、价格实惠的 IPv6 公网接入。 您可以为您的 IPv6 云服务器灵活设置 IPv6 的公网带宽 ,并随时关闭或者开启 IPv6 公网接入。
扫码关注腾讯云开发者
领取腾讯云代金券