linux中如何查看进程信息和关闭进程

704 阅读5分钟

查看静态的进程统计信息

方法一:ps aux
  • a:显示终端上所有的进程,包括其他用户的进程
  • u:列出进程的用户
  • x:显示所有终端的进程

微信截图_20220810174000.png

  • USER:进程的用户

  • PID:进程的id

  • %CPU:进程占用的cpu百分比

  • %MEM:占用内存的百分比

  • VSZ:该进程使用的虚拟内存量(KB)

  • RSS:该进程占用的物理内存量(KB)

  • TTY:启动进程的终端名(不是从终端启动的为?)

  • START:该进程被启动的时间

  • TIME:该进程实际使用cpu运行的时间

  • COMMAND:进程的启动命令

  • STAT:该进程的状态(5种)

D:不可被唤醒的休眠状态

R:运行状态

S:可被唤醒的休眠状态

T:停止状态,可能是在后台暂停或进程处于跟踪调试状态

Z:僵死状态,进程己经中止,但是部分程序还在内存当中 ,但其父进程无法正常中止它

方法二:ps -elf
  • -e:显示系统内的所有

  • -l:长格式显示

  • -f:完整格式显示

  • -a:显示所有进程pid

  • -T:查看线程信息

  • -aT:显示所有线路 微信截图_20220810203605.png

  • F:内核分配给进程的系统标记

  • S:进程的状态

  • UID:启动这些进程的用户

  • PID:进程的进程ID

  • PPID:父进程的进程号(如果该进程是由另一个进程启动的)

  • C:进程生命周期中的cpu利用率

  • PRI:进程的优先级(越大的数字代表越低的优先级)

  • NI:谦让度值用来参与决定优先级

  • ADDR:进程的内存地址

  • SZ:假如进程被换出,所需交换空间的大致大小

  • WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名

  • STIME:进程启动时的系统时间

  • TTY:进程启动时的终端设备

  • TIME:运行进程需要的累计cpu时间

  • CMD:进程的启动命令

动态查看进程统计信息

命令:top
  • P键 (根据CPU使用百分比大小进行排序)
  • M键 (根据驻留内存大小进行排序)
  • N键 (根据启动时间进行排序)
  • c键 (切换显示命令名称和完整命令行)
  • h键 (可以获得top程序的在线帮助信息)
  • q键 (退出top程序)
  • 数字1键:显示cpu个数和状态

-H动态查看当前进程 微信截图_20220810204302.png

第一行:任务队列信息
  • top - 12:27:52(系统时间)
  • up  1:48(系统已运行时长)
  • 3 users(当前登录用户数)
  • load average: 0.00,0.01,0.05(平均负载值)
第二行:系统进程信息
  • Tasks(总进程数)
  • running ( 正在运行的进程数)
  • sleeping (休眠的进程数)
  • stopped (中止的进程数 )
  • zombie (僵死的进程数)
第三行: CPU占用信息
  • us (用户占用)
  • ni (优先级调度占用)
  • id (空闲CPU,要了解空闲的CPU百分比,主要看%id部分)
  • wa (I/o等待占用)
  • hi (硬件中断占用)
  • si (软件中断占用)
  • st (虚拟化占用)
  • sy (内核占用)
第四行:内存占用信息
  • total (总空闲内存)
  • free (空闲内存)
  • used (己用内存)
  • lbuff/cache (物理内存和交换内存的缓冲区总和)
第五行:交换空间(swap)占用信息
  • total (总交换内存)
  • free (空闲交换内存)
  • used (已用交换内存)
  • avail Mem (可用物理空间)

根据特定条件查询进程PID信息

命令:pgrep
  • -l(显示进程名)
  • -U(指定特定用户)
  • -t(指定终端)

微信截图_20220810210441.png

查看进程树

命令:pstreet
  • -p:同时列出每个进程pid
  • -a:显示处完整信息
  • -u:列出对应用户名

微信截图_20220810211231.png

控制进程

启动进程
  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在输入的命令后加上 & ,放入后台运行

微信截图_20220810212116.png

调度进程
  • Ctrl + Z 组合键: 将当前进程挂起,即调入后台并停止执行
  • jobs [-l] :查看处于后台的任务列表,[显示PID号]
  • fg <任务序列号>:指定任务序列号,将后台进程恢复到前台运行

微信截图_20220810223807.png

微信截图_20220810224002.png

微信截图_20220810224244.png

终止进程
  • Ctrl + C 组合键 :中断正在执行的命令

  • kill :终止指定PID号对应的进程(-9 强制杀死进程,不加默认为15)

    小tip: kill会默认传15代表的信号为SIGTERM,这是告诉进程你需要被关闭,请自行停止运行并退出,进程可以清理缓存自行结束,也可以拒绝结束。

    kill -9代表的信号是SIGKILL,表示进程被终止,需要立即退出,强制杀死该进程,这个信号不能被捕获也不能被忽略。

  • killall <进程名>:终止与指定名称相关的所有进程

  • pkill [-U 用户名]:根据特定条件终止相应的进程 [根据进程所属用户名终止相关进程]

    小tip: killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill只要给出进程名的一部分就可以终止进程

计划任务管理

一次性计划
命令:at

at [HH:MM] [yyyy-mm-dd]----设置计划的时间

at>指定定时运行的命令------设置计划执行的命令

ctrl+d键-------提交计划、 atq-------查看未执行的任务列表

atrm(计划任务序号)-----删除指定的计划

周期性计划

crontab命令介绍

  • 按照预先设置的时间周期(分钟,小时,天,月,周)重复执行用户指定的命令操作

  • 属于周期性计划任务

    主要设置文件

  • 全局配置文件,位于文件: /etc/crontab(建议不要修改此文件)

  • 系统默认的设置,位于目录: /etc/cron.*/

  • 用户定义的设置,位于文件: /var/spool/cron/用户名

管理crontab计划任务

  • crontab -e [-u 用户名]---编辑计划任务

  • croutab -l [-u 用户名]---查看计划任务

  • croutab -r [-u 用户名]---删除计划任务

    注:没有-u时默认是针对当前用户

微信截图_20220810233422.png

微信截图_20220810233447.png

时间数值的特殊表示方式

  • *:表示该范围的任意时间

  • ,:分割多个布莱纳许的时间点

  • -:表示一个连续的时间范围

  • /:指定间隔的时间频率