Linux如何查看进程和删除进程?

本文目录导读:1、 查看当前正在运行的所有进程2、 查找指定进程3、 查看当前登录用户正在运行的所有进程4、 查看特定用户正在运行的所有进程5、 查看进程树和父子关系 6、 杀死指定PID的进程7、 杀死指定名称或关键字相符合的所有进程在Linux操作系统中,进程是指正在运行的程序或者任务。每个进程都有一个唯一的PID(Process……

在Linux操作系统中,进程是指正在运行的程序或者任务。每个进程都有一个唯一的PID(Process ID),用来标识该进程。在实际应用中,我们经常需要查看当前正在运行的进程,并且可能需要杀死某些不必要的或者占用资源过多的进程。本文将介绍如何使用命令行工具在Linux上查看和删除进程。

1. 查看当前正在运行的所有进程

我们可以使用ps命令来获取当前正在运行的所有进程列表。

“`

ps -ef

其中,-e选项表示显示所有用户所有程序;-f选项表示显示详细信息。

执行上述命令后,会输出类似下面这样的结果:

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 Jul08 ? 00:00:01 /usr/lib/systemd/systemd –switched-root –system –deserialize22

root 2 0 0 Jul08 ? 00:00:00 [kthreadd]

root 3 2 0 Jul08 ? 00:00:02 [ksoftirqd/0]

输出结果包含了每个运行着程序所对应的PID、PPID、CPU占用率、内存占用率、启动时间、以及程序的命令行参数等信息。

2. 查找指定进程

如果我们只是想查看某个特定进程的信息,可以使用grep命令进行过滤。

ps -ef | grep

这里的是要查找的进程名字。比如,如果要查看所有包含”java”关键字的进程,可以执行以下命令:

ps -ef | grep java

输出结果可能如下:

root 10220 1 99 Jul08 ? 2-01:34:33 /usr/java/jdk1.8.0_152/bin/java -Xms512m -Xmx1024m …

root 12345 1 0 Jul08 ? 00:00:01 java -jar demo.jar

上述输出结果中,只列出了包含”java”关键字的进程信息。

3. 查看当前登录用户正在运行的所有进程

如果我们只想查看当前登录用户正在运行的所有程序,则可以使用以下命令:

ps ux

“`

其中u选项表示显示当前用户(即你)所创建或拥有者为该用户UID所对应之程序;x选项表示显示与终端无关之所有程序。

执行该命令后,会输出类似下面这样格式化后简化版结果:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.3 193260 10928 ? Ss Jul08 0:01 /usr/lib/systemd/systemd –switched-root –system –deserialize22

root 2 0.0 0.0 0 0 ? S Jul08 0:00 [kthreadd]

输出结果只包含当前登录用户正在运行的进程信息。

Linux如何查看进程和删除进程?

4. 查看特定用户正在运行的所有进程

如果我们想查看某个特定用户(比如www)正在运行的所有程序,则可以使用以下命令:

ps -u www

其中,-u选项表示显示指定用户名(UID)所拥有或创建之程序。执行该命令后,会输出类似下面这样格式化后简化版结果:

PID TTY TIME CMD

12345 ? 00:00:01 java -jar demo.jar

上述输出结果中,只列出了由www用户创建或拥有者为该用户UID所对应之程序信息。

5. 查看进程树和父子关系

我们可以使用pstree命令来查看当前系统中所有进程及其父子关系。执行以下命令即可:

pstree

执行该命令后,会输出类似下面这样的结果:

systemd─┬─ModemManager───2*[{ModemManager}]

├─NetworkManager───2*[{NetworkManager}]

├─accounts-daemon───2*[{accounts-daemon}]

上述输出结果中,每个进程都通过一系列的缩进来表示其父子关系。比如,第一个进程systemd是所有其他进程的父进程。

6. 杀死指定PID的进程

如果我们想杀死某个特定PID所对应的程序,则可以使用kill命令。执行以下命令即可:

kill

其中是要终止(杀死)程序所对应之PID。比如,如果要杀死PID为12345所对应之程序,则可以执行以下命令:

kill 12345

执行该命令后,系统会向该PID所对应之程序发送一个SIGTERM信号,并尝试优雅地关闭该程序。如果在一段时间内未能成功关闭,则系统会发送SIGKILL信号强制关闭该程序。

7. 杀死指定名称或关键字相符合的所有进程

如果我们想同时杀掉多个同名或者包含同样关键字的进程,则可以使用pkill命令。执行以下命令即可:

pkill

其中是要杀死的进程名字或者包含该关键字的进程。比如,如果要杀死所有包含”java”关键字的进程,则可以执行以下命令:

pkill java

执行该命令后,系统会向所有满足条件的程序发送一个SIGTERM信号,并尝试优雅地关闭这些程序。如果在一段时间内未能成功关闭,则系统会发送SIGKILL信号强制关闭这些程序。

本文介绍了如何使用Linux中常用的几个命令来查看和删除进程。通过掌握这些命令,我们可以更加高效地管理Linux系统上正在运行的进程。