1) 查看进程的方法:
ps -ef 或者 ps aux
root 15087 0.0 0.0 0 0 ? S 23:31 0:00 [kworker/1:1]
root 15219 0.0 0.0 0 0 ? S 23:36 0:00 [kworker/1:0]
root 15460 0.0 0.0 0 0 ? S 23:41 0:00 [kworker/1:2]
homer 15572 23.0 5.8 791472 119788 ? Sl 23:45 0:03 /usr/lib/firefox/firefox
homer 15590 0.1 0.1 273796 3132 ? Sl 23:45 0:00 /usr/lib/at-spi2-core/at-spi-bus-launcher
homer 15620 0.0 0.0 22360 1268 pts/0 R+ 23:45 0:00 ps aux
2) kill -9
kill -s 9 15572
其中,-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。 15572则是上面ps查到的火狐(firefox)的PID。
简单吧,但有个问题,进程少时ps还无所谓,进程多了,就会觉得痛苦了,无论是ps -ef 还是ps -aux,每次都要在一大串进程信息里面查找到要杀的进程PID,看的眼都花了。
用法详解:
kill -9, 这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
当使用此命令时,一定要通过ps-ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。
2.1) 改进 1 —— grep
把ps的查询结果通过管道传给grep,查找包含特定字符串的进程。管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
例如:homer@ubuntu:~$ ps -aux | grep firefox
homer 15572 1.7 5.0 808644 103260 ? Sl 23:45 0:07 /usr/lib/firefox/firefox
homer 15735 0.0 0.0 13584 920 pts/0 S+ 23:52 0:00 grep --color=auto firefox
直接找到firefox进程PID, 输入:kill -s 9 15572
2.2) 改进 2 —— pgrep
pgrep的p表明了这个命令是专门用于进程查询的grep
例如: homer@ubuntu:~$ pgrep firefox
15572
2.3) 改进 3 —— pidof
pidof命令,表示 pid ofxx,字面翻译过来就是 xx的PID
例如:homer@ubuntu:~$ pidof firefox
15572
2.4) 改进4 —— grep + awk
grep firefox 列出firefox进程信息,并awk取第二个field,即PID
例如:homer@ubuntu:~$ ps -ef | grep firefox | grep -v grep | awk '{print $2}'
15572
2.5) 改进 5 —— kill + xargs
杀死进程的方式有以下几种:
a)ps -ef | grep firefox | grep -v grep | awk '{print $2}' | xargs kill -s 9
b)pgrep firefox | xargs kill -s 9
c) pidoffirefox | xargs kill -s 9
或
d) kill -s 9 `ps -ef | grep firefox | grep -v grep | awk '{print $2}'`
e)kill -s 9 `pgrep firefox`
f)kill -s 9 `pidof firefox`
2.6) 改进 6 —— pkill
pkill 类似于 pgrep, pkill 表示pgrep+kill
例如:pkill firefox
3) killall
killall命令, 杀死同一进程组内的所有进程,其允许指定要终止的进程的名称,而非PID
killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill或者pgrep只要给出进程名的一部分就可以终止进程。
homer@ubuntu:~$ killall firefo
firefo: no process found
homer@ubuntu:~$ killall firefox
homer@ubuntu:~$ killall -9 firefox
4) kill
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
例如:#kill-pid
注释: 标准的kill命令,默认采用信号(signal)号是15,通常都能达到目的,终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
5) kill -l
例如: kill-lPID
-l 选项, 告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
6)kill-HUP
有时候只想简单的停止和重启进程。
例如: #kill-HUPPID
该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
附录:各种信号及其用途
Signal
Description
Signal number on Linux x86
SIGABRT |
Process aborted |
6 |
SIGALRM |
Signal raised byalarm
|
14 |
SIGBUS |
Bus error: "access to undefined portion of memory object" |
7 |
SIGCHLD |
Child process terminated, stopped (or continued*) |
17 |
SIGCONT |
Continue if stopped |
18 |
SIGFPE |
Floating point exception: "erroneous arithmetic operation" |
8 |
SIGHUP |
Hangup |
1 |
SIGILL |
Illegal instruction |
4 |
SIGINT |
Interrupt |
2 |
SIGKILL |
Kill (terminate immediately) |
9 |
SIGPIPE |
Write to pipe with no one reading |
13 |
SIGQUIT |
Quit and dump core |
3 |
SIGSEGV |
Segmentation violation |
11 |
SIGSTOP |
Stop executing temporarily |
19 |
SIGTERM |
Termination (request to terminate) |
15 |
SIGTSTP |
Terminal stop signal |
20 |
SIGTTIN |
Background process attempting to read from tty ("in") |
21 |
SIGTTOU |
Background process attempting to write to tty ("out") |
22 |
SIGUSR1 |
User-defined 1 |
10 |
SIGUSR2 |
User-defined 2 |
12 |
SIGPOLL |
Pollable event |
29 |
SIGPROF |
Profiling timer expired |
27 |
SIGSYS |
Badsyscall
|
31 |
SIGTRAP |
Trace/breakpointtrap
|
5 |
SIGURG |
Urgent data available on socket |
23 |
SIGVTALRM |
Signal raised by timer counting virtual time: "virtual timer expired" |
26 |
SIGXCPU |
CPU time limit exceeded |
24 |
SIGXFSZ |
File size limit exceeded |
25 |
grep GlobalHandlerExceptionResolver . -nr --exclude-dir=".svn" --binary-files=without-match
参考推荐:
linux下杀死进程(kill)的N种方法
Linux 杀死进程方法大全(kill,killall)
linux杀掉进程,fuser、kill、pkill命令的运用
附录:各种信号及其用途
Signal
Description
Signal number on Linux x86
SIGABRT |
Process aborted |
6 |
SIGALRM |
Signal raised byalarm
|
14 |
SIGBUS |
Bus error: "access to undefined portion of memory object" |
7 |
SIGCHLD |
Child process terminated, stopped (or continued*) |
17 |
SIGCONT |
Continue if stopped |
18 |
SIGFPE |
Floating point exception: "erroneous arithmetic operation" |
8 |
SIGHUP |
Hangup |
1 |
SIGILL |
Illegal instruction |
4 |
SIGINT |
Interrupt |
2 |
SIGKILL |
Kill (terminate immediately) |
9 |
SIGPIPE |
Write to pipe with no one reading |
13 |
SIGQUIT |
Quit and dump core |
3 |
SIGSEGV |
Segmentation violation |
11 |
SIGSTOP |
Stop executing temporarily |
19 |
SIGTERM |
Termination (request to terminate) |
15 |
SIGTSTP |
Terminal stop signal |
20 |
SIGTTIN |
Background process attempting to read from tty ("in") |
21 |
SIGTTOU |
Background process attempting to write to tty ("out") |
22 |
SIGUSR1 |
User-defined 1 |
10 |
SIGUSR2 |
User-defined 2 |
12 |
SIGPOLL |
Pollable event |
29 |
SIGPROF |
Profiling timer expired |
27 |
SIGSYS |
Badsyscall
|
31 |
SIGTRAP |
Trace/breakpointtrap
|
5 |
SIGURG |
Urgent data available on socket |
23 |
SIGVTALRM |
Signal raised by timer counting virtual time: "virtual timer expired" |
26 |
SIGXCPU |
CPU time limit exceeded |
24 |
SIGXFSZ |
File size limit exceeded |
25 |
分享到:
相关推荐
linuxkill用法、killall、pkill、xkill.pdf
Linux 的命令行提供很多命令来杀死进程。这篇文章主要介绍了Linux下使用killall命令终止进程的8大用法,需要的朋友可以参考下
1、原始暴力的方法 代码如下:myLinux:/home/zhanhailiang/public_html # killall nginx 2、温柔点的方法查找指定进程的...等价方法: 代码如下:myLinux:/home/zhanhailiang/public_html # kill -9 `ps -ef|grep tcpSe
◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统...
全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar...
10-9. 在目录的所有文件中查找源字串 10-10. 列出目录中所有的符号连接文件 10-11. 将目录中的符号连接文件名保存到一个文件中 10-12. 一个C风格的for循环 10-13. 在batch mode中使用efax 10-14. 简单的while循环 10...
linuxswapwarner 作为Linux用户,您可能必须处理内存限制。 不好的是,如果主内存和交换空间都已满,Linux桌面会突然失去... 函数killOnDemand {echo“ Kill Chrome” killall -9 chrome} 享受鸣谢:bash进度栏取自
停止: kill `cat /tmp/memcached.pid`; Killall memcached 四、安装Memcache服务器(Linux和Window上分别安装) Windows下 Memcahced.exe -d install [uninstall] Memcached.exe ...
3、终止进程的工具 kill 、killall、pkill、xkill; 71 4、top 监视系统任务的工具; 73 5、进程的优先级:nice和renice; 73 八、脚本 77 ※1. Linux 脚本编写基础 77 ※1.1 开头 77 ※1.2 注释 77 ※1.3 变量 77 ...
使用ps –e|grep vsftpd命令在所有进程中搜索vsftpd服务对应的进程,记下其进程号,然后使用kill命令结束该进程(截图) 重启vsftpd服务,再使用killall vsftpd命令来结束该进程(截图) 使用top显示系统当前进程...
本文讲述的时进程管理的基本概念和进程管理工具介绍;文中的重点对进程管理工具的分类介绍及应用举例,包括 ps、pgrep、top 、kill、pkill、killall、nice和renice 等工具。
进程管理常用的命令,jobs,fg,bg,kill,killall,ps,pstree,top,nice,renice 及命令中显示的参数说明。
• ls -l 列出文件详细信息 l...• killall命令根据进程名发送终止信号 • nice命令指定运行程序优先级 • renice命令根据进程的进程号来改变进程的优先级 • top命令实时监控进程状态 • bg、jobs、fg命令控制进程显示
进程管理的基本概念的讲述,进程管理工具介绍,比如ps、pgrep、top 、kill、pkill、killall、nice和renice的解说和应
3.1:killall [选项][信号] 进程名 //按照进程名杀死进程 3.1:pkill [选项][信号]进程名 //按照进程名终止进程 系统管理/系统定时任务 1:crond服务管理与访问控制 语法:crontab [选项] 系统管理/系统资源查看 1...
1.40 killall指令:杀死同名的所有进程 1.41 last指令:列出目前与过去登录系统的用户相关信息 1.42 lastb指令:列出登录系统失败的用户相关信息 1.43 login指令:登录系统 1.44 logname指令:显示登录...