kill -9 $(ps -ef | grep process_name | grep -v grep | awk  '{print $2}')

 
稍微解释一下:
 awk  '{print $2}'   打印出第二行内容,如果想显示第一行内容就用$1就可以了。
 grep -v grep 去掉包含grep字样的所有行记录
ps -ef | grep process_name 显示出所有包含process_name字样的行记录,process_name就是你想要找的进程名字或者其他脚本名字
 
 
 
用户退出:
  1. sudo pkill -u username

 

1. kill
作用:根据进程号杀死进程
用法: kill [信号代码] 进程ID
 
root@fcola:/# ps -ef | grep sendmail
smmsp    14354 14337  0 00:08 pts/1    00:00:00 sendmail start
smmsp    14356  3154  0 00:08 pts/0    00:00:00 sendmail -s
smmsp    14359  3154  0 00:09 pts/0    00:00:00 sendmail start
smmsp    14360 14337  0 00:09 pts/1    00:00:00 sendmail state
root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
root     20674 15753  0 01:55 pts/2    00:00:00 grep sendmail
root@loris-desktop:/# kill -9 14354
 
注意:kill -9 来强制终止退出
 
特殊用法:
kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。
 
2. killall
作用:通过程序的名字,直接杀死所有进程
用法:killall 正在运行的程序名
 
举例:
root@fcola:/# ps -ef | grep sendmail
smmsp    14354 14337  0 00:08 pts/1    00:00:00 sendmail start
smmsp    14356  3154  0 00:08 pts/0    00:00:00 sendmail -s
smmsp    14359  3154  0 00:09 pts/0    00:00:00 sendmail start
smmsp    14360 14337  0 00:09 pts/1    00:00:00 sendmail state
root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
root     20683 15753  0 01:59 pts/2    00:00:00 grep sendmail
root@fcola:/# killall -9 sendmail
root@fcola:/# ps -ef | grep sendmail
root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
root     20686 15753  0 01:59 pts/2    00:00:00 grep sendmail
root@fcola:/# killall -9 sendmail
 
注意:该命令可以使用 -9 参数来强制杀死进程
 
3. pkill
作用:通过程序的名字,直接杀死所有进程
用法:#pkill 正在运行的程序名
 
举例:
root@fcola:/# ps -ef | grep sendmail
root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
root     21480 15753  0 02:03 pts/2    00:00:00 grep sendmail
root@fcola:/# pkill sendmail
 
4. xkill
作用:杀死桌面图形界面的程序。
应用情形实例:firefox出现崩溃不能退出时,点鼠标就能杀死firefox 。
当xkill运行时出来和个人脑骨的图标,哪个图形程序崩溃一点就OK了。
如果您想终止xkill ,就按右键取消;
 
调用方法:
[root@localhost ~]# xkill
 
◆编者注:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–
 
NAME (名称)
killall – 以名字方式来杀死进程
 
SYNOPSIS (总览)
killall [-egiqvw] [-signal] name …
killall -l
killall -V
 
DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM.。
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定。
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关。
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程)。
 
OPTIONS (选项)
-e
对 于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息。
-g
杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程。
-i
交互方式,在杀死进程之前征求确认信息。
-l
列出所有已知的信号名。
-q
如果没有进程杀死, 不会提出抱怨。
-v
报告信号是否成功发送。
-V
显示版本信息。
-w
等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待。
FILES(相关文件)
/proc proc文件系统的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死。
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。

在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。

来源:http://www.ubuntuhome.com/ubuntu-kill-command.html

下面来了解相关命令:

一、查看进程的命令 有ps、pstree、pgrep等:     

1、ps                                             
显示进程信息,参数可省略 
-aux   以BSD风格显示进程 常用
-efH   以System V风格显示进程
-e , -A 显示所有进程
a        显示终端上所有用户的进程
x        显示无终端进程
u     显示详细信息
f        树状显示
w     完整显示信息
l      显示长列表

在终端中执行ps aux,
各列输出字段的含义:

USER        进程所有者
PID         进程ID
PPID         父进程
%CPU       CPU占用率
%MEM     内存占用率
NI          进程优先级。数值越大,占用CPU时间越少
VSZ          进程虚拟大小
RSS          页面文件占用
TTY         终端ID
STAT         进程状态
+---D   不可中断    Uninterruptible sleep (usually IO)
+---R   正在运行,或在队列中的进程
+---S   处于休眠状态
+---T   停止或被追踪
+---Z   僵尸进程
+---W   进入内存交换(从内核2.6开始无效)
+---X   死掉的进程

+---<   高优先级
+---N   低优先级
+---L   有些页被锁进内存
+---s   包含子进程
+---+   位于后台的进程组;
+---l   多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

PID:进程标识符,系统为每一个进程分配一个识别码,称为PID。  

ps命令极为常用,其他命令还有:

2.pstree                        
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程

3.pgrep <进程名>                      
显示进程的PID
-l 显示进程名和进程PID
-o 进程起始ID
-n 进程终止ID

二、结束进程的命令 有kill、pkill、killall、xkill等: 

kill [信号代码] <进程PID>            

根据PID向进程发送信号,常用来结束进程,默认信号为 -9
信号代码,可取值如下:
-l [信号数字] 显示、翻译信号代码
-9 , -KILL 发送 kill 信号退出
-6 , -ABRT 发送 abort 信号退出
-15 , -TERM 发送 Termination 信号
-1 , -HUP 挂起
-2 , -INT 从键盘中断,相当于 Ctrl+c
-3 , -QUIT 从键盘退出,相当于 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 内存错误
-13 , -PIPE 破坏管道
-14 , -ALRM
-STOP 停止进程,但不结束
-CONT 继续运行已停止的进程
-9 -1 结束当前用户的所有进程

pkill <进程名>                             
结束进程族。如果结束单个进程,请用 kill

killall <进程名>                               
killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

xkill                           
在图形界面中点杀进程。
当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。
比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。
xkill 调用方法:
[root@localhost ~]# xkill

来源: http://www.cnblogs.com/1024-wusuopuBUPT/archive/2012/02/16/2354132.html

linux中pkill的简单用法

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

必要参数
-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序

选择参数
-p<进程号> 列出父进程为用户指定进程的进程信息
-t<终端> 指定终端下的所有程序
-u<用户> 指定用户的程序

  应用方法:

  #pkill 正在运行的程序名

  举例:

  1. [root@localhost beinan]# pgrep -l gaim
  2. 2979 gaim
  3. [root@localhost beinan]# pkill gaim

  也就是说:

  kill 对应的是 PID

  pkill 对应的是COMMAND

  例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:

 

  方法一:

  (1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。

  找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端。

 

  (2)输入:sudo kill xx(对应刚才的编号)。

  方法二:

 

  ctrl+alt+t,调出终端,输入:sudo pkill firefox

范例1: 杀死指定进程

  1. root@snail-hnlinux:~# ps -A //显示所有进程
  2. PID TTY   TIME CMD
  3. 1 ?  00:00:03 init
  4. 2 ?  00:00:00 kthreadd
  5. 3 ?  00:00:00 migration/0
  6. 4 ?  00:00:00 ksoftirqd/0
  7. 5 ?  00:00:00 watchdog/0
  8. ……忽略部分
  9. 28382 ?  00:00:00 gvfsd-http
  10. 28391 ?  00:07:07 software-center
  11. 30467 ?  00:00:31 designer-qt4
  12. 30487 ?  00:00:06 gnome-terminal
  13. 30488 ?  00:00:00 gnome-pty-helpe
  14. 30489 pts/0 00:00:00 bash
  15. 30670 ?  00:00:00 debconf-communi
  16. 30749 pts/0 00:00:17 gedit
  17. 31155 ?  00:00:00 dhclient
  18. 31325 ?  00:00:01 sshd
  19. 31327 ?  00:00:00 sshd
  20. 31400 pts/1 00:00:00 bash
  21. 31485 pts/2 00:00:00 bash
  22. 31653 ?  00:00:00 aptd
  23. 31658 pts/1 00:00:00 ps
  24. root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程
  25. 31327 31325 2095
  26. root@snail-hnlinux:~# pkill -9 sshd //杀死指定进程

范例2:杀死同义终端下的进程

  1. root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程

范例3: 杀死指定用户进程

  1. root@snail-hnlinux:~# pkill -u hnlinux

范例4:反向选择

  1. root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程

* A: PID = Process Id
* E: USER = User Name
* H: PR = Priority
* I: NI = Nice value
* O: VIRT = Virtual Image (kb)
* Q: RES = Resident size (kb)
* T: SHR = Shared Mem size (kb)
* W: S = Process Status
* K: %CPU = CPU usage
* N: %MEM = Memory usage (RES)
* M: TIME+ = CPU Time, hundredths
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: P = Last used cpu (SMP)
l: TIME = CPU Timesize (kb)
p: SWAP = Swapped size (kb)
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags <sched.h>
* X: COMMAND = Command name/line

Flags field:
0x00000001 PF_ALIGNWARN
0x00000002 PF_STARTING
0x00000004 PF_EXITING
0x00000040 PF_FORKNOEXEC
0x00000100 PF_SUPERPRIV
0x00000200 PF_DUMPCORE
0x00000400 PF_SIGNALED
0x00000800 PF_MEMALLOC
0x00002000 PF_FREE_PAGES (2.5)
0x00008000 debug flag (2.5)
0x00024000 special threads (2.5)
0x001D0000 special states (2.5)
0x00100000 PF_USEDFPU (thru 2.4)

linux 杀死进程kill 等用法的更多相关文章

  1. Linux 杀死进程方法大全(kill,killall)

    杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志.   首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:   # kill -pid   注释:标准的kill命令通常 ...

  2. linux杀死进程的简单讲解

    一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill 等进行.比如一个程序已经死掉 ...

  3. linux 杀死进程的方法

    # kill -pid 注释:标准的kill命令通常都能达到目的.终止有问题的进程,并把进程的资源释放给系统.然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源.为了防止这些所谓 ...

  4. Centos杀死进程kill方法大全

    杀死进程最安全的方法是单纯使用kill命令. 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目的.终止有问题的进程,并 ...

  5. linux 杀死进程

    列车进程 ps -ef 杀死进程 - 后面是pid kill 1234356

  6. linux查询进程 kill进程

    查询进程 #ps aux #查看全部进程 #ps aux|grep firewall #查询与firewall相关的进程 kill进程一 kill进程pid为711进程: #pkill -9 711 ...

  7. Linux下查询进程PS或者杀死进程kill的小技巧

    假设我们要kill掉tomcat: 那么我们首先需要tomcat的进程号pid: ps -aux | grep tomcat 记下tomcat的PID后,执行:kill PID(tomcat) 好了, ...

  8. 杀死进程kill和fuser

    1 kill -9 id 2   不行的话使用    fuser -k -SIGHUP /opt/bre/cookiemapping/wsapi/123 fuser有一个特别的用法在于它可以一次杀死那 ...

  9. 杀死进程 kill -9

    cui@bug:~$ killall -h 用法: killall [选项]... [--] 进程名... killall -l, --list killall -V, --version -e,-- ...

随机推荐

  1. JavaScript 之 DOM

    1. DOM DOM:Document Object Model 文档对象模型,定义访问和操作结构化文档(HTML)的方式. 在 HTML DOM (Document Object Model) 中 ...

  2. ubuntu 网络配置

    检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. Ubuntu上连了两块网 ...

  3. Spring Boot重要内容

    首先POM配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  4. 剑指Offer 42. 和为S的两个数字 (其他)

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 题目 ...

  5. 手把手教你用git

    一.如何安装git 下载地址: https://git-scm.com/download/win 根据自己的电脑选择是32位的还是64位的.下载完后直接运行,之后一直next就好了.安装成功后,会有这 ...

  6. 创建cocoapod静态库发布到网上使用

    1,在github上创建一个空仓库,要有licence和readme,clone到本地 2,pod lib create 项目名,这样就创建了一个静态库 3,pod spec create 项目名,创 ...

  7. Python全栈之路----常用模块----time模块

    time 模块的方法 time.time():返回当前时间的时间戳. >>> import time >>> time.time() #从1974年到现在过去了多少 ...

  8. imp导入时 出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决方法

    cmd命令下--执行imp命令时,出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决办法:在imp命令里加入 statistics=none (不导入数据库统计信息) ...

  9. PythonStudy——逻辑运算符 Logical Operators

    在Python中,None.任何数值类型中的0.空字符串“”.空元组().空列表[].空字典{}都被当作False,还有自定义类型,如果实现了 __ nonzero __ () 或 __ len __ ...

  10. java多线程同步器

    Java中多线程开发时,离不开线程的分工协作,常用的多线程的同步器有如下几种: 1.CountDownLatch 应用场景:等待一组线程任务完成后在继续执行当前线程. 用法:定义一个CountDown ...