文档章节

kill 命令

 小小人故事
发布于 2015/10/27 21:00
字数 1045
阅读 6
收藏 1
点赞 0
评论 0

Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。 

1.命令格式:

kill[参数][进程号]

2.命令功能:

发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

3.命令参数:

-l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

-a  当处理当前进程时,不限制命令名和进程号的对应关系

-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号

-s  指定发送信号

-u  指定用户 

注意:

1、kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如:

#kill -0 pid 可以检查一个进程PID是否真实存在
[root@166087 ~]# ps -ef | grep mysqld
root     25622     1  0 07:11 pts/0    00:00:00 /bin/sh /application/mysql5.5/bin/mysqld_safe --datadir=/application/mysql5.5/data --pid-file=/application/mysql5.5/data/166087.sys.ipv4.io.pid
mysql    25713 25622  0 07:11 pts/0    00:00:01 /application/mysql5.5/bin/mysqld --basedir=/application/mysql5.5 --datadir=/application/mysql5.5/data --plugin-dir=/application/mysql5.5/lib/plugin --user=mysql --log-error=/application/mysql5.5/data/166087.sys.ipv4.io.err --pid-file=/application/mysql5.5/data/166087.sys.ipv4.io.pid
[root@166087 ~]# kill -0 25622
[root@166087 ~]# echo $?
0
[root@166087 ~]# /etc/init.d/mysqld stop
Shutting down MySQL. SUCCESS!
[root@166087 ~]# kill -0 25622
-bash: kill: (25622) - 没有那个进程
[root@166087 ~]# echo $?
1

#列出所有的信号
[root@166087 ~]# 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

#  HUP---- 平滑启动,重新加载配置文件
[root@166087 ~]# kill -HUP 12211


#  TERM(快速关闭)----是请求彻底终止某项执行操作,它期望接收进程清除自给的状态并退出。
[root@166087 ~]# kill -TERM 12211

#QUIT和TERM类似----不同的是:它会生成内存转储
[root@166087 ~]# kill -QUIT 12211

#INT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。
[root@166087 ~]# kill -INT 12211

#不要用,不要用,没事别乱用!,强制杀死进程
[root@166087 ~]# kill -9 12211

#更多可以看这里 http://www.dbafree.net/?p=870



© 著作权归作者所有

共有 人打赏支持
粉丝 3
博文 65
码字总数 22668
作品 0
昌平
精通 Linux 的 “kill” 命令

原文出处:maketecheasier 译文出处:Linux中国/flsf 无论你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac),你可以用一个”kill”命令强制终...

maketecheasier ⋅ 04/17 ⋅ 0

[Linux] killall 、kill 、pkill 命令详解

killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使...

_周小董 ⋅ 2017/11/25 ⋅ 0

Shell - kill命令

1.命令格式:kill[参数][进程号] 2.命令功能:发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9...

RongX ⋅ 2016/05/30 ⋅ 0

Kill杀死进程方法大全

名称:kill 使用权限:所有使用者 使用方式: kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做...

长平狐 ⋅ 2013/01/06 ⋅ 0

Kill杀死进程方法大全

名称:kill 使用权限:所有使用者 使用方式: kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做...

晨曦之光 ⋅ 2012/03/02 ⋅ 0

shell 编程7 获取 java程序的pid

var=$(ps -ef | grep -v 'grep' | grep 'hello' | awk '{print $2}') # 其中的 grep -v 'grep' 就是获取指定外的元素, awk 的$0 是所有值,而$ 1,$2 …… 就是他的域 注意使用ps -ef 查出来...

QH_C ⋅ 2015/11/09 ⋅ 0

每天一个linux命令(42):kill命令

Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止...

长平狐 ⋅ 2013/06/17 ⋅ 0

转]Linux杀死进程方法大全

2010年2月24日乌帮图发表评论阅读评论 杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标...

brucema ⋅ 2011/10/27 ⋅ 0

linux kill用法、killall、pkill、xkill

一. 终止进程的工具 kill 、killall、pkill、xkill 终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。比如一个程序已经死掉,但又不能退出,这时就应...

李长春 ⋅ 2012/02/03 ⋅ 0

Linux下批量杀掉 包含某个关键字的 程序进程

有时候因为一些情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的...

Adairs ⋅ 2016/03/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Windows下安装运行phpMyAdmin

首先确保安装了phpMyAdmin,其次要求服务器是打开的。 如果是在Windows下,建议下载安装WampServer,这是一个集成软件,集成了Apache+MySQL+PHP的开发环境,而且也自带了phpMyAdmin这个软件。...

临江仙卜算子 ⋅ 3分钟前 ⋅ 0

jdk1.8 安装及环境变量配置

1.根据jdk 的软件安装包,首先安装,jdk,

kuchawyz ⋅ 3分钟前 ⋅ 0

给Java字节码加上”翅膀“的JIT编译器

给Java字节码加上”翅膀“的JIT编译器 上面文章在介绍Java的内存模型的时候,提到过由于编译器的优化会导致重排序的问题,其中一个比较重要的点地方就是关于JIT编译器的功能。JIT的英文单词是...

九劫散仙 ⋅ 4分钟前 ⋅ 0

PCI简介(二)

1.x86处理器系统地址空间简介 1.1 CPU地址空间 CPU地址空间是指CPU所能寻址的空间大小,比如对于32位CPU来说,其所能寻址的空间大小为0~4G。这是由CPU自身的地址总线数目决定的。这段空间也被...

深山野老 ⋅ 6分钟前 ⋅ 0

spring中的InitializingBean接口

好久没更博了,真有点怀念,前段时间刚和上家公司say bye,这次进的是电商公司,今天刚开始看代码,逻辑很复杂。 今天看的注册功能,里面见到一个知识点,现在记录一下,今天看项目时见到里面...

千元机爱好者 ⋅ 7分钟前 ⋅ 0

机器学习:数据预处理之独热编码(One-Hot)

前言 ———————————————————————————————————————— 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等。 ...

NateHuang ⋅ 15分钟前 ⋅ 0

MyBatis之输入与输出(resultType、resultMap)映射

在MyBatis中,我们通过parameterType完成输入映射(指将值映射到sql语句的占位符中,值的类型与dao层响应方法的参数类型一致),通过resultType完成输出映射(从数据库中输出,通过dao层的方法查...

瑟青豆 ⋅ 16分钟前 ⋅ 0

屏蔽运营商广告劫持

在今天早上我查找知乎时再次遇到了恶心的运营商广告劫持,右下角硕大的广告直接让知乎挂掉了,我刷了五次知乎才好,之前休息的时候逛知乎也是多次加载错误,估计也是这劫持的锅,相信各位也遇...

gcudwork ⋅ 19分钟前 ⋅ 0

java web 进度条实现原理

资料路径 https://blog.csdn.net/fengsheng5210/article/details/79305026

zaolonglei ⋅ 20分钟前 ⋅ 0

命令行输出java版本与环境变量配置的不一样问题解决

问题:java10刚出来,本着好奇的心,急切的装了体验一下,然后实际项目需求还是java8,所以体验完了就把环境变量改回来了,但是出现了一个问题,命令行输出java版本与环境变量配置的不一样,...

消散了的诗意 ⋅ 23分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部