刘俊凯 发表于 2024-6-14 13:05:36

Linux 进程查找、杀死方案集合

一、查找进程



[*] 方式一 ps 命令:显示当前活动进程的快照。
# 显示所有用户的所有进程
$ ps aux

# 显示所有进程的完整信息
$ ps -ef
# 常用参数
-a:显示所有进程,包括其他用户的进程。
-u <用户>:仅显示指定用户的进程信息。
-x:显示没有控制终端的进程。
-e:显示所有进程,等同于 `-A` 参数。
-f:显示进程的详细信息,包括进程的 PID、PPID、CPU 使用率、内存使用量等。
-l:显示进程的长格式信息,包括进程的 PID、PPID、状态、CPU 时间、命令等。
-p <PID>:仅显示指定 PID 的进程信息。
-t <终端>:仅显示指定终端上的进程信息。
-C <命令名>:仅显示指定命令名的进程信息。

[*] 方式二 top 命令:实时显示系统中运行的进程和系统资源使用情况。它按 CPU 使用率排序进程,并更新显示。
# 命令会使用默认参数
$ top

# 例如
# 每 2 秒刷新一次 top 命令
$ top -d 2
# 仅显示用户名为 username 的进程信息
$ top -u username
# 仅显示进程 ID 为 pid 的进程信息
$ top -p pid
# 常用参数
-d <秒数>:指定 top 命令的刷新间隔时间,单位为秒。
-u <用户名>:仅显示指定用户名的进程信息。
-p <进程ID>:仅显示指定进程ID的进程信息。
-b:以批处理模式运行 top 命令,将结果输出到文件中。
-n <次数>:指定 top 命令运行的次数,执行完指定次数后自动退出。
-H:以线程模式运行 top 命令,显示每个进程的线程信息。
-i:不显示空闲进程。
-c:显示进程的完整命令行,而不仅仅是进程的名称。
-o <排序字段>:指定 top 命令的排序字段,例如 `%CPU` 表示按照 CPU 使用率排序,`%MEM` 表示按照内存使用率排序。

[*] 方式三 pgrep 命令:根据进程名或其他属性来查找并打印匹配的进程 ID。
# 将列出所有名为 xxx 的进程ID
$ pgrep xxx

# 例如:
$ pgrep mysql
$ pgrep ssh
# 常用参数
-o:仅显示找到的最小(起始)进程号
-n:仅显示找到的最大(结束)进程号
-l:显示进程名称
-P:指定父进程号
-g:指定进程组
-t:指定开启进程的终端
-u:指定进程的有效用户ID

[*] 方式四 pidof 命令:查找指定名称的进程的进程 ID。
# 将列出所有名为 xxx 的进程ID
$ pidof xxx

# 例如:
$ pidof mysql
$ pidof -s ssh
# 常用参数
-s:仅返回一个进程号
-c:仅显示具有相同“root”目录的进程
-x:显示由脚本开启的进程
-o:指定不显示的进程ID

二、杀死进程



[*] 指令参数必要再仔细查询。
[*] 方式一 通过 kill 进程 id 的方式实现。
# 1、查找到对应进程ID,例如 firefox
$ ps -ef | grep firefox

# 2、杀死
$ kill [信号代码] <进程PID>
$ kill <firefox-pid>

# 补充:
# 强制杀死
$ kill -9 <firefox-pid>
$ sudo kill -9 <firefox-pid>

[*] 方式二 killall 通过程序的名字来杀死进程。增补:pkill 和 killall 应用方法差不多,也是直接杀死运行中的程序,假如想杀掉单个进程,请用 kill 来杀掉。
$ killall <进程名>
$ killall firefox

# 补充:
# 强制杀死
$ killall -9 firefox
$ sudo killall -9 firefox

# pkill 使用
$ pkill <进程名>

[*] 方式三 xkill 可以杀死图形程序应用, 比方 firefox 瓦解无响应可以使用该命令。
# 执行命令后,会出现一个白色的 x,然后用鼠标单击想要杀死的应用
$ xkill

[*] 方式四 Terminal 终端输入: gnome-system-monitor ,就可以打开 system monitor,然后找到相应进程,右击选择 kill process 就可以了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux 进程查找、杀死方案集合