急问linux该如何杀死同名的所有进程?
4个回答
展开全部
示例:在Linux平台上后台运行4个vim进程,使用如下命令即可同时结束掉4个vim进程
ps -efww|grep vim |grep -v grep|cut -c 9-15|xargs kill -9
说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
“ps -efww”是查看所有进程的命令。这时检索出的进程将作为下一条命令“grep“的输入,注意要结束其它程序时,请将上面命令中的vim替换成其它程序名。
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。
“kill -9”会强行杀掉指定进程,这样就成功清除了同名进程。
展开全部
摘至于Linux指令速查手册
【语法】killall[必要参数][选择性参数][指令名]
【功能说明】killall指令用来结束同名的所有进程。
【参数说明】
必要参数具体说明如下:
参数 功能
-Z 只杀死拥有scontext的进程
-e 要求精确匹配进程名字
-I 忽略大小写
-g 杀死进程组而不是进程
-i 交互模式,杀死进程前先询问用户
-l 列出所有的已知的信号名称
-q 不输出警告信息
-s 发送指定的信号
-v 报告信号是否成功发送
-w 等待进程死亡
选择性参数的具体说明如下:
参数 功能
--version 版本信息
--help 帮助信息
【执行范例】
【范例80】杀死同名所有进程。
[root@localhost ~]# ps -A //显示所有的进程
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
//此处省略了部分结果
3355 ? 00:00:17 gnome-terminal
3357 ? 00:00:00 gnome-pty-helpe
3358 pts/2 00:00:00 bash
3377 pts/2 00:00:03 joe
6734 pts/1 00:00:00 ps
[root@localhost ~]# killall joe //杀死同名的所有进程
[root@localhost ~]# killall joe //杀死同名的所有进程
joe: no process killed
[root@localhost ~]# ps -A //显示进程
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
61 ? 00:00:00 kblockd/0
//此处省略了部分结果
3345 ? 00:00:00 notification-ar
3347 ? 00:00:03 clock-applet
3349 ? 00:00:36 mixer_applet2
3355 ? 00:00:17 gnome-terminal
3357 ? 00:00:00 gnome-pty-helpe
3358 pts/2 00:00:00 bash
6739 pts/1 00:00:00 ps
[root@localhost ~]#
本例使用指令ps -A,显示当前系统下正在运行的所有进程,其中有一个正在运行的进程的名称为“3377 pts/2 00:00:03 joe”。本例使用指令killall joe,杀死所有的同名进程,然后在运行指令ps -A,发现joe指令已被杀死。
【范例81】向进程发送指定信号。
[root@localhost ~]# 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 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
[root@localhost ~]# joe & //后台运行joe指令
[2] 6806
[root@localhost ~]# Processing '/etc/joe/joerc'...done
Processing '/etc/joe/joerc'...done
[2]+ Stopped joe
[root@localhost ~]# killall -TERM joe //杀死joe指令
[root@localhost ~]#
本例使用指令“kill –l”,显示所有的信号信息。使用指令killall -TERM joe,杀死所有的名为joe的指令。
【相关指令】
kill
【语法】killall[必要参数][选择性参数][指令名]
【功能说明】killall指令用来结束同名的所有进程。
【参数说明】
必要参数具体说明如下:
参数 功能
-Z 只杀死拥有scontext的进程
-e 要求精确匹配进程名字
-I 忽略大小写
-g 杀死进程组而不是进程
-i 交互模式,杀死进程前先询问用户
-l 列出所有的已知的信号名称
-q 不输出警告信息
-s 发送指定的信号
-v 报告信号是否成功发送
-w 等待进程死亡
选择性参数的具体说明如下:
参数 功能
--version 版本信息
--help 帮助信息
【执行范例】
【范例80】杀死同名所有进程。
[root@localhost ~]# ps -A //显示所有的进程
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
//此处省略了部分结果
3355 ? 00:00:17 gnome-terminal
3357 ? 00:00:00 gnome-pty-helpe
3358 pts/2 00:00:00 bash
3377 pts/2 00:00:03 joe
6734 pts/1 00:00:00 ps
[root@localhost ~]# killall joe //杀死同名的所有进程
[root@localhost ~]# killall joe //杀死同名的所有进程
joe: no process killed
[root@localhost ~]# ps -A //显示进程
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
61 ? 00:00:00 kblockd/0
//此处省略了部分结果
3345 ? 00:00:00 notification-ar
3347 ? 00:00:03 clock-applet
3349 ? 00:00:36 mixer_applet2
3355 ? 00:00:17 gnome-terminal
3357 ? 00:00:00 gnome-pty-helpe
3358 pts/2 00:00:00 bash
6739 pts/1 00:00:00 ps
[root@localhost ~]#
本例使用指令ps -A,显示当前系统下正在运行的所有进程,其中有一个正在运行的进程的名称为“3377 pts/2 00:00:03 joe”。本例使用指令killall joe,杀死所有的同名进程,然后在运行指令ps -A,发现joe指令已被杀死。
【范例81】向进程发送指定信号。
[root@localhost ~]# 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 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
[root@localhost ~]# joe & //后台运行joe指令
[2] 6806
[root@localhost ~]# Processing '/etc/joe/joerc'...done
Processing '/etc/joe/joerc'...done
[2]+ Stopped joe
[root@localhost ~]# killall -TERM joe //杀死joe指令
[root@localhost ~]#
本例使用指令“kill –l”,显示所有的信号信息。使用指令killall -TERM joe,杀死所有的名为joe的指令。
【相关指令】
kill
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
linux不知道,我只知道unix下用“pkill 进程名”,假设进程名叫“a”,那么就是“pkill a”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
killall 进程名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询