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

简介: 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 通过程序的名字来杀死进程。补充:pkillkillall 应用方法差不多,也是直接杀死运行中的程序,如果想杀掉单个进程,请用 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 就可以了。
相关文章
|
2月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
143 2
|
2月前
|
Linux Python
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
47 2
|
6天前
|
Linux Shell
6-9|linux查询现在运行的进程
6-9|linux查询现在运行的进程
|
2月前
|
消息中间件 Linux
Linux进程间通信
Linux进程间通信
35 1
|
2月前
|
C语言
Linux0.11 系统调用进程创建与执行(九)(下)
Linux0.11 系统调用进程创建与执行(九)
25 1
|
2月前
|
存储 Linux 索引
Linux0.11 系统调用进程创建与执行(九)(上)
Linux0.11 系统调用进程创建与执行(九)
48 1
|
19天前
|
存储 监控 安全
探究Linux操作系统的进程管理机制及其优化策略
本文旨在深入探讨Linux操作系统中的进程管理机制,包括进程调度、内存管理以及I/O管理等核心内容。通过对这些关键组件的分析,我们将揭示它们如何共同工作以提供稳定、高效的计算环境,并讨论可能的优化策略。
22 0
|
1月前
|
Unix Linux
linux中在进程之间传递文件描述符的实现方式
linux中在进程之间传递文件描述符的实现方式
|
2月前
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
52 0
|
2月前
|
存储 Linux 调度
Linux0.11 进程切换(十)
Linux0.11 进程切换(十)
18 0
下一篇
无影云桌面