目录

一、查看进程信息相关命令

1、ps aux 和 ps -ef 命令

2、使用top命令跟踪包括CPU、内存等系统资源占用情况

3、pstree命令以树状图的方式展现进程关系

二、结束进程操作

1、使用查看ps -ef进程ID信息

2、使用kill / killall 结束进程

附:使用netstat查看进程端口号


一、查看进程信息相关命令

1、ps aux 和 ps -ef 命令

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

(1)ps aux 是以简单列表的形式显示出进程信息

ps aux
  • a:显示当前终端下的所有进程信息,包括其他用户的进程。
  • u:使用以用户为主的格式输出进程信息。
  • x:显示当前用户在所有终端下的进程。

Linux查找redis Linux查找进程_ps命令

上图中各字段解释:

  1. USER: 
  2. PID:            该进程的ID号,在当前系统中是唯一的
  3. %CPU: 
  4. %MEM:
  5. VSZ:           占用虚拟内存(swap空间)的大小
  6. RSS:           占用常驻内存(物理内存)的大小
  7. TTY:            该进程在哪个终端上运行。“?”表未知或不需要终端,不是从终端启动的进程则显示为“?”
  8. STAT:          显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
  9. START:       启动该进程的时间
  10. TIME:          该进程占用CPU时间
  11. COMMAND:启动该进程的命令的名称

(2)ps -ef  | grep xx 查看具体某个进程的信息

ps -elf
  • -e:显示系统内的所有进程信息。
  • -l:使用长(long)格式显示进程信息。
  • -f:使用完整的(full)格式显示进程信息。

Linux查找redis Linux查找进程_linux_02

大部分字段跟ps aux一样,PPID为父进程的PID

2、使用top命令跟踪包括CPU、内存等系统资源占用情况

top命令 以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。

Linux查找redis Linux查找进程_linux命令_03

上图解释

  • Tasks(系统任务)信息:total-总进程数;running-正在运行的进程数;sleeping-休眠的进程数;stopped-中止的进程数;zombie-僵死无响应的进程数。
  • CPU信息:us-用户占用;sy-内核占用;ni-优先级调度占用;id-空闲CPU;wa-I/O等待占用;hi-硬件中断占用;si-软件中断占用;st-虚拟化占用。了解空闲的CPU百分比,主要看%id部分。
  • Mem(内存)信息:total-总内存空间;used-已用内存;free-空闲内存;buffers-缓存区域。
  • Swap(交换空间)信息:total-总交换空间;used-已用交换空间;free-空闲交换空间;cached-缓存空间。

———————————————————————————————————————————

  • PR           优先级
  • NInice      值。负值表示高优先级,正值表示低优先级
  • TIME+      进程使用的CPU时间总计,单位1/100秒
  • VIRT        进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES        进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

3、pstree命令以树状图的方式展现进程关系

以树状图的方式展现进程之间的派生关系,显示效果比较直观。

pstree -aup
  • -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
  • -h:列出树状图时,特别标明现在执行的程序;
  • -p:显示程序识别码;
  • -u:显示用户名称;

Linux查找redis Linux查找进程_top命令_04

二、结束进程操作

1、使用查看ps -ef进程ID信息

nginx 进程为例,使用 ps 查看 nginx 命令如下:

ps -ef | grep nginx

Linux查找redis Linux查找进程_linux_05

如图所示,可以看到有四条 nginx 相关信息信息,其中 PID 为 1788 这一列表示的是当前打开窗口的进程,1582 和 1583这两个 PID 为 1581 的子进程。

2、使用kill / killall 结束进程

前面查找到进程的 PID 之后,可以使用 kill 命令杀死进程,命令如下:

kill -9 1581
  • kill -9  kill -s的区别:

kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。
kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。TERM(或数字9)表示“无条件终止”因此 kill - 9 表示强制杀死该进程;与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理

  • killall 命令

如果出现: -bash: killall: command not found

yum install psmisc -y

killall 命令可以直接通过进程相关的名称来结束进程,先启动 nginx 服务之后,然后使用 killall杀掉 nginx 相关的进程,命令如下:

// 启动进程
service nginx start
// 查看进程
ps -ef | grep nginx
// 杀掉相关进程
killall -9 nginx
// 查看结果
ps -ef | grep nginx

附:使用netstat查看进程端口号

所谓的端口,就好像是门牌号一样,客户端可以通过 ip 地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号 。

netstat -apn | grep 1581
  • -a (all) 显示所有选项,默认不显示LISTEN相关。
  • -n 拒绝显示别名,能显示数字的全部转化成数字。
  • -p 显示建立相关链接的程序名

Linux查找redis Linux查找进程_linux命令_06