一、查找进程
方式一
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
就可以了。