Linux下进程查看与管理(ps、top、jobs、bg、fg、nice、kill 、systemctl等)

本文深入讲解了进程的概念、状态及管理命令,如ps、top、jobs等,涵盖了进程的查看、控制、信号发送及优先级调整等内容,是系统管理员和程序员必备的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程简介

程序放置在存储媒体中,实体文件的形态存在,程序触发后,执行者的权限与属性,程序的程序代码与所需数据都会被载入内存,操作系统给予这个进程一个识别码,就是PID,可以说,进程就是一个正在运行的程序。

进程状态

 R(running):该程序正在运行
 S(sleeping):程序处于睡眠状态,可以被唤醒(signal)
 D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况
 T:停止状态(stop),可能是在工作控制(背景暂停),或者除错状态(tracked)
 Z(Zombie):僵尸状态,程序终止但却无法移到内存外
 孤儿进程:父级进程被强行关闭,由系统初始化程序接管孤儿进程并关闭

进程相关命令

查看进程

ps:查看进程状态

  参数:
  只输入ps,查看当前终端运行的程序
 	-a	查看shell中的运行的所有程序
 	-A	查看系统中的所有进程
  	a	包括环境状态,显示所有进程
 	-d	查看所有进程,但是不显示环境本身(shell)
  	e	显示进程扩展信息(系统调用资源)
  	x	显示有输出设备的进程
 	-u	查看进程用户
  	f	显示进程树,显示进程从属关系

常用ps命令组合

  ps aux	显示系统中所有进程并显示进程用户
  ps ef		显示进程详细信息并显示进程父子关系
  ps ax		显示当前系统中的所有进程
  pstree	显示当前系统中的进程树

显示进程指定信息
ps -o 指定参数

参数内容		comm	进程名称	
		user	进程所有人
		group	进程所有组
		%cpu	进程cpu使用率
		%mem	进程内存的使用率
		pid	进程id
		nice	进程优先级数

进程排序

ps ax --sort=

参数	-表示从大到小排序
	+表示从小到大排序
	+%cpu|-%cpu	进程按cpu使用率排序
	+%mem|-%cpu	进程按mem使用率排序

例:ps命令单独执行
在这里插入图片描述
例:ps命令组合
在这里插入图片描述
例:ps指定项目排序查看(找出cpu使用率前五)
在这里插入图片描述
例:ps找出cpu使用率前五的pid
在这里插入图片描述

例:pstree的使用
在这里插入图片描述
top:进程动态监控
操作

1	显示cpu每个核的负载
s	调整刷新频率
c	cpu负载排序
m	memory使用排序
h	打印帮助界面
u	查看指定用户进程
k	对进程发起信号
q	退出界面

使用top打印信息在这里插入图片描述
按cpu进行排序
在这里插入图片描述
按mem进行排序
在这里插入图片描述
调整刷新频率
在这里插入图片描述
打印帮助界面
在这里插入图片描述

前后台任务调度

jobs 查看后台任务

参数	-l	列出pid
	-r	正在后台run的工作
	-s	后台中暂停的工作

ctrl+z--------->占用终端的进程打入后台
bg------------->后台暂停的工作继续工作
fg-------------->后台程序调回前台
&--------------->命令直接在后台运行

例:使用top命令,使用ctrl+z将之打入后台,使用&使得vim编辑文件file在后台执行,使用jobs查看这两个任务
在这里插入图片描述
使用fg将vim调入前台工作
在这里插入图片描述
利用jobs -l查看pid
在这里插入图片描述

优先级调整

优先级调整范围 -20~19

nice 指定进程开启时的优先级
开启方式

  nice -n 优先级 进程名称

renice 修改进程优先级
设置方式

  renice -n 优先级 PID

查看方式(-o参数,nice选项)

  ps ax -o pid,nice,comm

例:设置vim开启优先级为5
在这里插入图片描述
重新设定该进程优先级为0
在这里插入图片描述

进程信号发送

kill 发送信号给进程

参数
  1	进程重新加载配置
  2	删除进程在内存中的数据
  3	删除鼠标在内存中的数据
  9	强行结束单个进程序(不阻塞)
  15	正常关闭进程(可能不会关闭,被阻塞)
  18	运行暂停的进程
  19	暂停某个进程(不会阻塞)
  20	暂停某个进程(可能会阻塞)

man 7  signal	查看信号详细信息

使用方式

  kill -signal pid
  killall -signal 进程名
  pkill -u user	-signal

例:信号具体信息
在这里插入图片描述
例:暂停tar打包压缩/usr程序的执行
在这里插入图片描述
例:继续打包进程
在这里插入图片描述
例:强制杀死进程top
在这里插入图片描述
例:正常结束进程top被阻塞
在这里插入图片描述
杀死所有vim程序
在这里插入图片描述
杀死用户zy的进程
在这里插入图片描述

服务控制

系统初始化进程可对服务进行相应控制

系统初始化进程
systemd

控制格式

  systemctl		执行动作		服务名称	
  systemctl         	start		sshd.service

执行动作

  status	查看服务状态(active活动中,inactive非活动中)
  start		开启服务
  stop		停止服务
  restart	重启服务
  reload	重新加载配置
  enable	开机自启动
  disable	开机不自启动
  list-units			显示开启服务状态
  list-unit-files		列出所有服务开机状态(static enable disable)
  list-dependencies		列出服务依赖
  set-default multi-user.target	默认开机后多用户模式
  set-default multi-user.target 默认开机后图形模式

例:开启/关闭/重启/重新装载sshd服务
在这里插入图片描述
例:使得sshd服务开机自启动/不启动
在这里插入图片描述
例:显示开启服务状态
在这里插入图片描述
例:显示sshd服务依赖
在这里插入图片描述
例:列出服务开机状态
在这里插入图片描述
设定开机多用户模式启动
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值