进程

90 阅读2分钟

进程

  • 在Linux中,每个执行的程序都称之为一个进程。每一个进程都分配一个ID号(pid,进程号)

  • 每个进程都可以以两种方式存在。前台后台

    • 所谓的前台进程就是用户目前的屏幕上可以操纵的。
    • 后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  • 一般系统的服务都是以后台进程方式存在,而且都会常驻子系统中。直到关机

显示系统的执行的进程 (PS)

ps命令是用来查看目前系统中,有哪些正在执行,以及他们的执行状况。可以不加任何参数

USER:进程执行用户

PID:进程号

%CPU:占用CPU百分比

%MEM:占用物理内存百分比

VSZ:占用虚拟内存

RSS:占用物理内存

TTY:终端

STAT:运行状态,s表示sleep休眠,r:运行状态

START:执行开始时间

TIME:占用CPU时间

COMMAND:进程名称,执行该进程的指令

image.png

image.png

ps详解

ps -ef 是以全格式看是当前所有进程,查看进程的父进程

  1. 指令:ps -aux | grep XXX,比如我看看有没有sshd服务器
  2. 指令说明
  • System V展示风格
  • USER:用户名
  • PID:进程号
  • %CPU:进程占用CPU百分比
  • %MEM:进程占用物理内存的百分比
  • VSZ:进程占用的虚拟内存大小(单位:KB)
  • RSS:进程占用的物理内存大小(单位:KB)
  • TTY:终端名称,缩写
  • STAT:进程状态,其中S-睡眠,s-表示进程是会话的先导进程,N-表示进程拥有比普通优先级更低优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等
  • START:进程的启动时间
  • TIME:CPU时间,即进程使用CPU的总时间
  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

查看进程树 pstree

pstree [选项]  # 可以更直观的来看进程信息

# 常用选项
-p  # 显示进程PID
-u  # 显示进程的所属用户

终止进程 (kill和killall)

若是某个进程执行一般需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务

kill [选项] 进程号   # 通过进程号杀死进程
killall 进程名称]   # 通过进程名称杀死进程,子进程也会被杀掉,也支持通配符,这在系统负载过大而变得满时很有用


# 常用选项
-9   # 表示强迫进程立即停止