kill命令
Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。
通常,
终止一个前台进程可以使用Ctrl+C键
,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。
kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程
。
命令格式:
kill [参数] 进程号
命令功能:
发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
当用kill向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。
可以向多个进行发信号/终止它们。
命令参数:
-
-l 信号 —— 若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-
-a —— 当处理当前进程时,不限制命令名和进程号的对应关系
-
-p —— 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-
-s —— 指定发送信号
-
-u —— 指定用户
使用示例:
实例1:杀掉指定进程
kill 进程号
实例2:彻底杀死进程
kill -9 进程号
实例3:列出所有信号名称
killall命令
Linux系统中的killall命令
用于杀死指定名字的进程
(kill processes by name)。
我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一。
命令格式:
killall [参数] 进程名
命令功能:
用来结束同名的的所有进程。
命令参数:
-
-Z 只杀死拥有scontext 的进程
-
-e 要求匹配进程名称
-
-I 忽略小写
-
-g 杀死进程组而不是进程
-
-i 交互模式,杀死进程前先询问用户
-
-l 列出所有的已知信号名称
-
-q 不输出警告信息
-
-s 发送指定的信号
-
-v 报告信号是否成功发送
-
-w 等待进程死亡
-
--help 显示帮助信息
-
--version 显示版本显示
使用示例:
实例1:杀死所有同名进程
killall vi
[root@localhost ~]# ps -ef|grep vi
root 17581 17398 0 17:51 pts/0 00:00:00 vi test.txt
root 17611 17582 0 17:51 pts/1 00:00:00 grep vi
[root@localhost ~]# ps -ef|grep vi
root 17581 17398 0 17:51 pts/0 00:00:00 vi test.txt
root 17640 17612 0 17:51 pts/2 00:00:00 vi test.log
root 17642 17582 0 17:51 pts/1 00:00:00 grep vi
[root@localhost ~]# killall vi
[root@localhost ~]# ps -ef|grep vi
root 17645 17582 0 17:52 pts/1 00:00:00 grep vi
[root@localhost ~]# ps -ef|grep vi
root 17581 17398 0 17:51 pts/0 00:00:00 vi test.txt
root 17611 17582 0 17:51 pts/1 00:00:00 grep vi
[root@localhost ~]# ps -ef|grep vi
root 17581 17398 0 17:51 pts/0 00:00:00 vi test.txt
root 17640 17612 0 17:51 pts/2 00:00:00 vi test.log
root 17642 17582 0 17:51 pts/1 00:00:00 grep vi
[root@localhost ~]# killall vi
[root@localhost ~]# ps -ef|grep vi
root 17645 17582 0 17:52 pts/1 00:00:00 grep vi
[root@localhost ~]# vi &
[1] 17646[root@localhost ~]# killall -TERM vi
[1]+ Stopped vi
[root@localhost ~]# vi &
[2] 17648[root@localhost ~]# ps -ef|grep vi
root 17646 17582 0 17:54 pts/1 00:00:00 vi
root 17648 17582 0 17:54 pts/1 00:00:00 vi
root 17650 17582 0 17:55 pts/1 00:00:00 grep vi
[2]+ Stopped vi
[root@localhost ~]# killall -TERM vi
[root@localhost ~]# ps -ef|grep vi
root 17646 17582 0 17:54 pts/1 00:00:00 vi
root 17648 17582 0 17:54 pts/1 00:00:00 vi
root 17653 17582 0 17:55 pts/1 00:00:00 grep vi
[root@localhost ~]# killall -KILL vi
[1]- 已杀死 vi
[2]+ 已杀死 vi
[root@localhost ~]# ps -ef|grep vi
root 17656 17582 0 17:56 pts/1 00:00:00 grep vi
[root@localhost ~]#
wget有以下功能和特点:(1)支持断点下传功能;(2)同时支持FTP和HTTP下载方式;(3)支持代理服务器;(4)设置方便简单;(5)程序小,完全免费;wget的基本语法是:wget 【参数列表】 【URL目标软件、网页的网址】示例:1、下载整个http或者ftp站点。wget http://place.your.url/he
p
kill
命令
可以按照
进程
名杀死
进程
。p
kill
和
kill
all应用方法差不多,也是直接杀死运行中的程序。如果想杀掉单个
进程
,请用
kill
来杀掉。
语法格式:p
kill
[参数]
常用参数:
仅向找到的最小(起始)
进程
号发送信号
仅向找到的最大(结束)
进程
号发送信号
指定父
进程
号发送信号
指定
进程
组
指定开启
进程
的终端
仅向找到的最小(起始)
进程
号发送信号:
[root@
linux
cool ~]# p
kill
-o
仅向找到的最大(结束)
进程
号发送信号:
[root@
linux
cool ~]# p
kill
-n
杀死Apa
kill
all
命令
使用
进程
的名称来杀死
进程
,使用此指令可以杀死一组同名
进程
。我们可以使用
kill
命令
杀死指定
进程
PID的
进程
,如果要找到我们需要杀死的
进程
,我们还需要在之前使用ps等
命令
再配合grep来查找
进程
,而
kill
all把这两个过程合二为一,是一个很好用的
命令
。
我们可以使用
kill
命令
杀死指定
进程
PID的
进程
,如果要找到我们需要杀死的
进程
,我们还需要在之前使用ps等
命令
再配合grep来查找
进程
,而
kill
all把这两个过程合二为一,是一个很好用的
命令
。
语法格式:
kill
all [参数]
常用参数:
对长名称进行精确匹配
打印所有已知信号列表
相信很多程序员对于
Linux
系统都不陌生,即使自己的日常开发机器不是
Linux
,那么线上服务器也大部分都是的,所以,掌握常用的
Linux
命令
也是程序员必备的技能。
但是,怕就怕很多人对于部分
命令
只是一知半解,使用不当就能导致线上故障。
前段时间,我们的线上应用报警,频繁FGC,需要紧急处理问题,于是有同事去线上重启机器(正常程序应该是先采集堆dump,然后再重启,方便排查是否存在内存泄露等问题)。
但是在重启过程中,同事发现正常的重启
命令
应用无反应,然后尝试使用
kill
命令
"杀"掉Java
进程
,但是仍然无效
命令
用途
一般情况下,
终止
一个
前台
进程
使用 Ctrl + C 就可以了。对于一个后台
进程
就须用
kill
命令
来
终止
。我们会先使用 ps、top 等
命令
获得
进程
的 PID,然后使用
kill
命令
来杀掉该
进程
。
kill
命令
是用来向
进程
发送信号的
作用: 用于结束
进程
,不仅可以结束
前台
进程
,也可以结束后台
进程
。此外,
前台
进程
还可以采用组合键 Ctrl+C 来中断,后台
进程
不可用该组合键中断。
语法:
kill
[选项] pid
常用选项:
-HUP(1):重跑
进程
-
KILL
(9) :强制杀死
进程
-TERM(15) :结束
进程
-l:列出所有可用的信号名称
-p:只显示
进程
的 pid,不送出信号
将 pid 为123的...
学习
Linux
进程
时,大家可能会遇到同样的问题,这里简单概括了
Linux
进程
kill
命令
以及
Linux
控制多个
命令
的方法,经过总结,在这里拿出来和大家分享一下,希望对大家有所帮助.......
Linux
kill
命令
当需要中断一个
前台
进程
的时候,通常是使用< Ctrl+c >组合键;但是对于一个后台
进程
恐怕就不是一个组合键所能解决的了,这时就必须求助于
kill
命令
...
kill
命令
原文参考:https://zhuanlan.zhihu.com/p/140531888
想要在
Linux
中
终止
一个
进程
有两种方式,
前台
进程
可以使用Ctrl+C键进行
终止
;
后台
进程
,那么需要使用
kill
命令
来
终止
。(其实Ctrl+C也是
kill
命令
,
kill
-2)
kill
命令
的格式是:
kill
[参数][
进程
号]
kill
21121
kill
-9 21121
其中[参数]是可选的,
进程
号可以通过jps/ps/pidof/pstree/top等
命令
获取。
一个
进程
在任务完成之后,将会自动结束。如果要中途中止该
进程
的话,有两种方法:
1. 对于在
前台
运行的程序,直接通过组合键 Ctrl+C 来中止。
2. 对于在后台运行的程序,则需要找到它的
进程
号,然后使用
kill
命令
结束该
进程
。
可以使用:# ps -ef | grep httpd
命令
确定要杀死
进程
的 PID 或 PPID......
root@fcola:/# ps -ef | grep sendmail
smmsp 14354 14337 0 00:08 pts/1 00:00:00 sendmail start
smmsp ...
在
Linux
系统中,可以使用 "
kill
"
命令
终止
进程
。可以使用该
命令
发送特定的信号给指定的
进程
,以
终止
它。其基本语法为:
kill
[-s signal] PID
其中,-s signal 表示要发送的信号,默认为 TERM 信号,用于
终止
进程
;PID 是
进程
的 ID。
也可以使用 "
kill
all"
命令
来
终止
进程
,它可以根据
进程
名称来
终止
进程
。如:
kill
all -9 process_name
其中,-9 表示发送
终止
进程
的信号SIG
KILL
, process_name 是
进程
名称