Linux进程管理ps、top、kill(超清晰,面试常考)

更新一下kill


1.ps查看进程

ps 【选项】

  • -A:显示所有进程,与-e相同效果
  • -a:不显示与终端有关的所有进程
  • -u:有效使用者(effective user)相关的进程
  • x:搭配a使用,列出完整信息

ps -l:仅查看自己的bash进程
在这里插入图片描述
F(process flags):进程标识。4表示该进程权限为root,1表示该子进程仅执行复制fork,没有实际执行exec的权限
S(stat):状态标识

  1. R(Running,运行中)
  2. S(Sleep,睡眠中,可被唤醒signal)
  3. D(不可唤醒的睡眠状态)
  4. T(Stop,停止状态)
  5. Z(Zombie,僵尸状态,进程已经终止但无法被删除至内存外)

僵尸进程是指该进程应该已经执行完毕或是要终止了,但该进程的父进程无法完整将该进程结束掉(造成原因可能是系统不稳定、程序写得不好、用户操作习惯不良)。如果某进程的CMD后面接了<defunct代表是僵尸进程

UID/PID/PPID:被UID所拥有,进程的PID号码,该进程的父进程PID号码
C(CPU):cpu使用率,单位百分比
PRI/NI:执行优先级,越小越快执行
TTY:进程所在终端的端口号
TIME:使用cpu的时间
CMD:启动该进程的命令名称

ps aux:查看系统所有进程
在这里插入图片描述
USER:进程所属用户账号
PID:进程的PID号码
%CPU:
%MEM:物理内存占比
VSZ:使用掉的虚拟内存量(kb)
RSS:该进程占用的固定内存量(kb)
TTY:显示在哪个终端运行,与终端无关显示?,tty1-tty6是本机上面的登陆进程,pts/0表示由网络连接进入主机进程
STAT:

  1. R(Running,运行中)
  2. S(Sleep,睡眠中,可被唤醒signal)
  3. D(不可唤醒的睡眠状态)
  4. T(Stop,停止状态)
  5. Z(Zombie,僵尸状态,进程已经终止但无法被删除至内存外)

START:进程触发启动的时间
TIME:使用cpu的时间
COMMAND:该进程的实际命令

2.top:动态查看进程变化

在top执行过程中输入以下命令:
?:显示在top当中可以输入的命令
P:按CPU使用排序
M:内存排序
N:PID排序
T:使用时间排序
k:给某个PID一个信号(signal)
r:给某个PID重新定制一个nice值
q:退出

top -d 2:每两秒更新一次top
在这里插入图片描述
第一行:

  • 12:34:27表示当前时间
  • up 3:47表示开机到目前为止的时间
  • 2 users表示登陆人数
  • loadaverage表示1、5、15分钟的平均任务负载,越小越空闲

第二行:

  • Tasks:184 total表示进程总量以及后面各种进程的状态,zombie不为0说明有僵尸进程

第四行和五行:

  • 表示物理内存(Mem)和虚拟内存使用情况

第六行:

  • 表示你输入的命令显示在这行里

top下半部分表示每个进程的使用资源情况

  • PID表示进程ID
  • USER表示所属用户
  • PR表示优先级,越小越先执行
  • NI与PR有关,越小越先执行
  • %CPU表示cpu使用率
  • %MEM表示内存使用率
  • TIME+表示使用cpu的时间累加

3.pstree查看进程相关性

4.kill杀死进程

进程是如何互相管理的呢?通过给予该进程一个信号告知该进程你想要让它来做什么
主要信号如下:

  • 1(SIGHUP):启动被终止的进程,可让该PID重新读取自己的配置文件,类似重新启动
  • 9(SIGKILL):强制中断一个进程的执行,尚未完成的一部分可能会有半成品产生
  • 15(SIGTERM):以正常的方式结束进程来终止该进程。若该进程已经发生问题,无法使用正常的方法终止,输入该信号也无效
    通过以下命令发送信号给该进程
    kill -信号 PID
    kill -9 进程PID
    在这里插入图片描述
    由于kill必须加上PID,常配合ps、pstree来查看进程PID。也可以不使用PID,即用killall命令
    killall -9 httpd
    强制终止所有的httpd启动的进程

5.netstat追踪网络或socket文件

常用选项

  • -a:将目前系统上所有的连接、监听、socket信息都列出来
  • -n:不以进程服务名称,以端口号(port number)显示
  • l:列出目前正在网络监听(listen)的服务
  • t:列出tcp网络封包的信息
  • p:列出该网络服务的进程PID

linux如何查看某个端口是否被占用?
netstat -apn | grep 端口号
解释:内容原本是netstat -apn所有信息,但经过grep查找后变为只列出指定端口号的内容
查看端口号包含80数字的
在这里插入图片描述
若能帮到您,不妨点个赞呗!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值