当Linux系统中的进程开始表现得很异常时,你需要为了整个系统的运行状况而停止它,以下实用程序将帮助你找到该过程并将其停止。在我们开始之前,正如我们所知,每个Linux进程都有一个进程标识(PID),我们将不得不寻找感兴趣的特定PID,为此,我们可以使用以下工具。

Linux 意见kill所有java进程 linux kill 所有进程_命名空间

使用ps命令
此命令报告当前进程的快照。
要列出所有进程,只需运行即可:
$ ps -A
例如,要过滤输出,可以使用管道来获得所需的确切过程:
$ ps aux | grep apa
这将列出其进程名称中包含上述字母的所有进程,从那里,你可以缩小范围并获得罪魁祸首的确切PID。
作为命令库中的替代品,还可以使用pidof或pgrep,如下所示:
$ pidof zsh
这将返回zsh进程的PID:
$ pgrep zsh
这也将返回zsh进程的PID。
发现PID后,下一步是停止该过程,这里有各种工具,例如:kill、killall、pkill、top等,参考Linux进程管理:用kill和killall命令杀死进程。
只要你具有自行停止进程的权限,就必须意识到这些命令是有效的,如果你没有足够的权限来杀掉其他用户的进程,它们将无法正常工作,但是你可以杀掉你自己的进程。
root用户是超级用户,可以杀掉属于系统中任何其他用户的任何进程。
使用kill命令在Linux上终止进程
kill向进程发送信号,信号可以是:
1、SIGHUP可以用1表示并使进程挂起。
2、SIGKILL可以用9表示,并导致该过程被非常恶意地杀掉。
3、SIGTERM,可以用15表示,并使该过程优雅地被杀掉。
如果执行kill命令时没有选项,则默认使用SIGTERM。
kill的例子:
使用PID 7089终止进程而不保存任何打开的文件:
$ kill -9 7089
$ kill -SIGKILL 7089
在确保保存所有文件后,使用PID 7080终止进程,这是优雅地杀掉进程:
$ kill -15 7080
$ kill -SIGTERM 7080
你可以利用的另一个命令是killall命令,如果你知道进程的名称,则无需查找其PID, killall按名称杀掉它,如下所示。
有关更多选项,请运行:
$ man kill
使用killall命令在Linux上终止进程
killall命令按照上面规定的名称杀掉进程,运行以下命令:
$ killall httpd
要了解更多信息,请查看手册页:
$ man killall
使用pkill命令在Linux上终止进程
根据名称和其他属性发出信号流程,pkill的工作方式与killall类似,它的语法很简单:
$ pkill [options] pattern
pkill根据名称和其他属性向进程发送信号。
如果你知道要传递命令的进程的名称以及进程的名称,则使用pkill非常简单,如下所示,它默认使用SIGTERM信号,但如果你愿意,可以改变它:
$ pkill nginx
所有命令选项:
$ pkill --help
用法:
pkill [options] 
选项:
-  , - 信号要发送的信号(数字或名称)
-e, -  echo显示被杀的内容
-c, - 匹配进程的计数
-f, -  fulll使用完整的进程名称来匹配
-g,--pgroup 匹配列出的进程组ID
-G, -  group 匹配实际组ID
-i, -  ignore-case匹配大小写不敏感
-n, - 最近选择最近开始
-o, - 最近选择最近最少开始
-P, -  parent 仅匹配给定父级的子进程
-s, -  session 匹配会话ID
-t, -  terminal 通过控制终端匹配
-u, -  egid 匹配有效ID
-U, -  uid 按真实ID匹配
-x, - 完全匹配命令名称
-F, -  pidfile 从文件中读取PID
如果未锁定PID文件,则-L, -  logpidfile失败
--ns 匹配属于它的进程,名称空间为
--nslist 列出将考虑的命名空间,--ns选项。可用的命名空间:ipc,mnt,net,pid,user,uts
-h, -  help显示此帮助并退出
-V, -  version输出版本信息并退出
使用top命令在Linux上终止进程
你可以使用top命令在运行时通过其交互式会话终止进程。
要直接从“top”界面终止进程,请按“k”,它会询问你要杀掉的进程的PID,输入PID并按Enter键:
top - 10:07:55 up 1 day, 22:09,  0 users,  load average: 0.52, 0.58, 0.59
Tasks:   4 total,   1 running,   3 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.7 us,  3.5 sy,  0.0 ni, 91.0 id,  0.0 wa,  0.7 hi,  0.0 si,  0.0 st
KiB Mem : 16669896 total,  2348244 free, 14092300 used,   229352 buff/cache
KiB Swap: 50331648 total, 49101952 free,  1229696 used.  2443864 avail Mem
PID to signal/kill [default pid = 1] 10000
它默认使用SIGTERM信号,如下所示,只需再次按回车键,top将完成剩下的工作:
top - 10:07:55 up 1 day, 22:09,  0 users,  load average: 0.52, 0.58, 0.59
Tasks:   4 total,   1 running,   3 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.7 us,  3.5 sy,  0.0 ni, 91.0 id,  0.0 wa,  0.7 hi,  0.0 si,  0.0 st
KiB Mem : 16669896 total,  2348244 free, 14092300 used,   229352 buff/cache
KiB Swap: 50331648 total, 49101952 free,  1229696 used.  2443864 avail Mem
Send pid 10000 signal [15/sigterm]