N天学习一个linux命令之kill
用途
用于终止进程
用法
kill [-s signal|-p] [--] pid...
kill -l [signal]
说明
1.默认发送信号15(请求终止进程,程序可以捕获,操作系统会杀死没有对此做处理的进程),如果需要强制杀死进程,需要传信号9,此信号不能被进程捕获,杀死进程一般传信号15
2.杀死进程可能会丢失数据,需要谨慎操作
3.信号可以传名字也可以是数字,信号可以通过-N方式指定
4.这里所说的kill是指操作系统的kill命令,不是只shell内置的kill命令,一般情况下使用语法都差不多,shell命令会兼容
常用参数
-s signal
指定需要发送的信号,可以是数字也可以是名字
-l [signal name]
列出支持的信号列表,如果后面跟上信号名会显示对应的信号数字
-a
杀死所有匹配的进程,不限制是否和当前的进程uid是否一样
-p
只输出进程号,不发送指定的信号
实践
1.强制删除指定的进程
[root@vm ~]# ps aux | grep t.php
root 31076 99.4 0.4 237040 13240 pts/1 R+ 15:32 7:30 /u01/server/php/bin/php.bin t.php
root 32340 0.0 0.0 103324 916 pts/2 S+ 15:39 0:00 grep t.php
[root@vm ~]# kill -s 9 31076
2.显示信号列表
[root@vm ~]# 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
3.杀死指定命令名的进程
shell内置的kill命令不支持,只能使用系统kill命令
[root@vm ~]# ps aux | grep t.php
root 1466 95.1 0.4 237040 13240 pts/1 R+ 15:47 0:44 /u01/server/php/bin/php.bin t.php
root 1482 95.7 0.4 237040 13244 pts/2 R+ 15:47 0:38 /u01/server/php/bin/php.bin t.php
root 1631 0.0 0.0 103328 928 pts/3 S+ 15:48 0:00 grep t.php
[root@vm ~]# /bin/kill php.bin
[root@vm ~]# ps aux | grep t.php
root 1659 0.0 0.0 103324 900 pts/3 R+ 15:48 0:00 grep t.php
4.杀死多个进程
[root@vm ~]# ps aux | grep t.php
root 1782 98.0 0.4 237040 13240 pts/1 R+ 15:49 0:44 /u01/server/php/bin/php.bin t.php
root 1792 90.6 0.4 237040 13240 pts/2 R+ 15:49 0:38 /u01/server/php/bin/php.bin t.php
root 1960 0.0 0.0 103324 904 pts/3 S+ 15:50 0:00 grep t.php
[root@vm ~]# kill 1782 1792
[root@vm ~]# ps aux | grep t.php
root 2024 0.0 0.0 103324 900 pts/3 S+ 15:50 0:00 grep t.php
5.不杀死进程,只显示进程号
[root@vm ~]# ps aux | grep t.php
root 2523 94.0 0.4 237040 13244 pts/1 R+ 15:53 0:15 /u01/server/php/bin/php.bin t.php
root 2535 92.3 0.4 237040 13240 pts/2 R+ 15:53 0:12 /u01/server/php/bin/php.bin t.php
root 2560 0.0 0.0 103324 900 pts/3 S+ 15:53 0:00 grep t.php
[root@vm ~]# /bin/kill -p php.bin
2523
2535
参考资料
【1】man kill
【2】每天一个linux命令(42):kill命令
http://www.cnblogs.com/peida/archive/2012/12/20/2825837.html
【3】各种信号及其用途-见最后面的附件
http://blog.csdn.net/andy572633/article/details/7211546
【4】列出所有的 Bash Shell 内置命令
http://blog.csdn.net/imxiangzi/article/details/50377904
【5】bash内置命令
http://www.cnblogs.com/blue-sea-sky/p/5506312.html
【6】Linux 进程状态
http://www.cnblogs.com/itech/p/3208261.html
【7】Linux进程间通信
http://www.cnblogs.com/linshui91/archive/2010/09/29/1838770.html
N天学习一个linux命令之kill的更多相关文章
- N天学习一个Linux命令之帮助命令:man
前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...
- N天学习一个Linux命令之free
用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [ ...
- N天学习一个linux命令之ping
用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...
- N天学习一个linux命令之du
用途 统计文件或者目录占用硬盘空间大小 用法 du [OPTION] [FILE]du [OPTION] --files0-from=F 常用参数 -a, --all统计所有文件,不仅仅是目录 -b, ...
- N天学习一个linux命令之scp
用途 通过ssh通道,不同主机之间复制文件 用法 scp [options] [user@host:]file1 [user2@host2:]file2 常用参数 -1使用 ssh 1协议 -2使用s ...
- 每天学习一个Linux命令-目录
在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...
- N天学习一个linux命令之umask
前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...
- N天学习一个Linux命令之top
用途 查看机器负载以及进程资源占用情况,linux系统性能分析工具 用法 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] ...
- N天学习一个linux命令之ip
用途 show / manipulate routing, devices, policy routing and tunnels 用法 通用格式 ip [ OPTIONS ] OBJECT { CO ...
随机推荐
- js模拟复制
现在浏览器种类也越来越多,诸如 IE.Firefox.Chrome.Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了. 一.实现点击按钮,复制文本框中的的内 ...
- JVM-垃圾回收器
目录 垃圾收集器 Serial收集器 Serial Old 收集器 ParNew 收集器 Parallel Scavenge 收集器 (并行清除) /'pærəlɛl/ /'skævɪndʒ/ Par ...
- python抢票开发——设备预约助手实现
女朋友是药学院的,做实验时需要在特定的网站上进行设备预约,由于预约人数过多,从而导致从浏览器登录不进去或者登录进去预约失败等情况,所以我用python帮她写了一个抢位助手,让程序自动去进行位置预定,实 ...
- 5CSS之字体font-family
---------------------------------------------------------------------------------------------------- ...
- 在vSphere Client上安装虚拟机工具VMware Tools
一.什么是虚拟机工具 VMware Tools是一套安装在虚拟机操作系统中的实用程序.VMware Tools可提高虚拟机的性能,并在 VMware产品中实现多个易于使用的功能. 尽管客户机操作系统在 ...
- RabbitMQ~消费者实时与消息服务器保持通话
这个文章主要介绍简单的消费者的实现,rabbitMQ实现的消费者可以对消息服务器进行实时监听,当有消息(生产者把消息推到服务器上之后),消费者可以自动去消费它,这通常是开启一个进程去维护这个对话,它与 ...
- UE4源码版食用要记
UE4源码版和预编译版不能共享工程,这和插件版是一样的. 一般来说我都是在VS中生成编辑器,于编辑器中添加新类,VS中编辑代码. 编译引擎的时候编译配置使用的是devepolmenteditor.开发 ...
- JS——模拟百度搜索
注意事项: 1.for循环移除子节点时,其长度是变化的 2.在文档流中,input.img.p等标签与其他标签有3px的距离,利用左浮动,可以消除3px距离 3.背景图片定位时,第一个值是x轴方向的值 ...
- css图片高清适配
同一张图片,在普通屏显示正常,但高清屏出现模糊.原因是原来一个像素的点分成的四个像素的点进行了显示. 解决方案:在高清屏中把图片变成二倍图,前提是二倍的高清图已经存在. .icon{ backgrou ...
- (转)postgis常用函数介绍(二)
http://blog.csdn.net/gisshixisheng/article/details/47903151 概述: 书接上文,本文继续讲解Postgres中常用的空间函数的使用. 常用函数 ...