linux怎么强制杀进程(linux中杀进程)

纸扎戏偶

本篇文章给大家谈谈linux怎么强制杀进程,以及linux中杀进程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

  • 1、Linux里面杀掉进程命令是什么?
  • 2、linux系统怎么kill进程
  • 3、linux如何杀死进程
  • 4、linux如何杀掉线程

1、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, 然后用鼠标单击想要杀死的应用,如图

以下内容引用自:

◆编者注:

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 侦测不到。

来源:

下面来了解相关命令:

一、查看进程的命令 有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

来源:

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用户的所有进程

————————————————

版权声明:本文为CSDN博主「MrCoderr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

2、linux系统怎么kill进程

Linux最常用kill命令来结束进程,但是kill命令需要用进程的PID作为参数。如何知道指定进程的PID呢?如果是通过进程命令的名字来查看对应PID,可以通过ps命令或pstree命令看到它的PID;如果是通过网络监听端口号查看进程,需要用netstat命令看看端口号对应的进程的PID。

ps命令用于查看系统所有进程,而pstree命令以树状显示进程之间的关系,有助于判断要杀死哪个进程。记住在它们显示的结果中记下需要结束的进程PID。ps命令的常用用法是:

ps aux

-a参数表示不与终端有关的进程也显示出来。

pstree命令的常见用法是:

pstree -Aup

-p参数表示列出进程PID。

netstat命令可以查看监听端口的进程是哪个,常用的方式是:netstat -tlnp

这条命令的意思是列出系统里面监听网络连接的端口号和相应的进程PID。

参数说明:

-t:表示列出TCP连接(也可以加上-u参数表示同时列出UDP网络连接)

-l:表示列出正在网络监听的服务

关键是下面两个参数:

-n:表示以端口号来显示

-p:表示列出进程PID

Local Address这一列下面就有端口号,可以看到它对应的PID是多少,还有Program name那一列是进程名字。同样是要记下需要结束的进程的PID。

知道了指定进程的PID后,就可以用kill命令结束进程了:

kill -9 PID号码

或者kill -2 PID号码

-9参数是强制结束进程,而-2参数是相当于用键盘组合键Ctrl+C的方式正常结束进程。

3、linux如何杀死进程

以Nginx为例

1、ps -axu|grep nginx 获取Nginx相应进程的pid 后杀死进程

kill -9 21783

2、使用killall将Nginx相关全部杀死

killall -9 nginx

4、linux如何杀掉线程

我们使用linux时遇到端口占用,在了解占用程序影响不大的情况下,会通过netstat命令找到占用端口的进程,直接kill掉

查找端口占用命令:

netstat -tnlp | grep 80

可以看到,进程id为20902的进程占用了80端口

我们可以选择使用命令 kill pid 杀掉进程

kill 20902

或者使用kill -9 pid 强杀进程

kill -9 20902

如果你需要杀掉所有筛选结果下的进程可以使用

ps -aux|grep name|awk '{print $2}'|xargs kill -9

其中name是你要查询的服务名称,例如我要查nginx的所有服务可以使用

ps -aux|grep nginx

我们要筛选出第二项pid

ps -aux|grep name|awk '{print $2}'

筛选出后要杀掉这些进程

ps -aux|grep name|awk '{print $2}'|xargs kill -9

这样就批量杀掉筛选出的所有进程了

linux怎么强制杀进程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中杀进程、linux怎么强制杀进程的信息别忘了在本站进行查找喔。

文章版权声明:除非注明,否则均为我爱教程术原创文章,转载或复制请以超链接形式并注明出处。