更新一下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):状态标识
- R(Running,运行中)
- S(Sleep,睡眠中,可被唤醒signal)
- D(不可唤醒的睡眠状态)
- T(Stop,停止状态)
- 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:
- R(Running,运行中)
- S(Sleep,睡眠中,可被唤醒signal)
- D(不可唤醒的睡眠状态)
- T(Stop,停止状态)
- 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数字的
若能帮到您,不妨点个赞呗!