linux杀死进程的五种方法「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。
方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor
如图:
然后找到相应进程,右击选择kill process就可以了
方法二: 通过kill 进程id的方式可以实现,
首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:
然后通过 kill 3781 就可以关闭进程了.
补充: 1. kill -9 来强制终止退出, 例如: kill -9 3781
2.特殊用法:
kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。
方法三: killall 通过程序的名字,来杀死进程
例如: killall firefox
注意: 该命令可以使用 -9 参数来强制杀死进程, killall -9 firefox
方法四: pkill 通过程序的名字, 直接杀死所有进程
例如: pkill firefox
方法五: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.
例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图
以下内容引用自: http://justcoding.iteye.com/blog/1931347
◆编者注:
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 正在运行的程序名
举例:
Java代码
- [root@localhost beinan]# pgrep -l gaim
- 2979 gaim
- [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: 杀死指定进程
Java代码
- root@snail-hnlinux:~# ps -A //显示所有进程
- PID TTY TIME CMD
- 1 ? 00:00:03 init
- 2 ? 00:00:00 kthreadd
- 3 ? 00:00:00 migration/0
- 4 ? 00:00:00 ksoftirqd/0
- 5 ? 00:00:00 watchdog/0
- ……忽略部分
- 28382 ? 00:00:00 gvfsd-http
- 28391 ? 00:07:07 software-center
- 30467 ? 00:00:31 designer-qt4
- 30487 ? 00:00:06 gnome-terminal
- 30488 ? 00:00:00 gnome-pty-helpe
- 30489 pts/0 00:00:00 bash
- 30670 ? 00:00:00 debconf-communi
- 30749 pts/0 00:00:17 gedit
- 31155 ? 00:00:00 dhclient
- 31325 ? 00:00:01 sshd
- 31327 ? 00:00:00 sshd
- 31400 pts/1 00:00:00 bash
- 31485 pts/2 00:00:00 bash
- 31653 ? 00:00:00 aptd
- 31658 pts/1 00:00:00 ps
- root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程
- 31327 31325 2095
- root@snail-hnlinux:~# pkill –9 sshd //杀死指定进程
范例2:杀死同义终端下的进程
Java代码
- root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程
范例3: 杀死指定用户进程
Java代码
- root@snail-hnlinux:~# pkill -u hnlinux
范例4:反向选择
Java代码
- root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187766.html原文链接:https://javaforall.cn
相关文章
- Linux查看文件夹容量的最佳方式(linux统计文件夹大小)
- Linux系统预防网络入侵的检测方法(linux入侵检测系统)
- 调整Linux系统磁盘使用率的方法(磁盘使用率linux)
- Linux中轻松改变文件后缀名的方法(linux修改后缀名)
- Linux文件根据大小排序的方法(linux按大小排序)
- Linux简易路由配置实现方法(linux路由配置命令)
- Linux下安全使用U盘的方法(linux下使用u盘)
- Linux设置实现非阻塞I/O的方法(linux设置非阻塞)
- Linux进程调度:抉择时机的关键(linux进程调度的时机)
- Linux 中添加变量的简单方法(linux添加变量)
- Linux PID 命令:在Linux下管理进程的有效方法(linuxpid命令)
- Linux下利用循环删除文件的方法(linux循环删除文件)
- 文件Linux下快速批量重命名文件的方法(批量重命名linux)
- Linux分支:探索它的多样性(linux的分支)
- 高效清理系统资源,掌握Linux进程管理技巧(linux清理进程)
- 快速高效的方法,一步步教你实现 Linux 服务器扩容(linux服务器扩容)
- Linux下的窗口管理器:简单、高效、强大(linux窗口管理器)
- 提升效率:Linux 上的打印服务器(打印服务器linux)
- Linux 根分区:大小咋定?(根分区多大linux)
- 「Linux 学习」:这些学习资料帮助你快速入门 Linux 系统!(linux系统学习资料)
- XP不再,Linux起航:如何顺利实现操作系统替换?(xp换linux)
- Linux就是用命令保存世界(linux 保存命令)
- Linux与Windows: 抉择难题(linux与windows区别)