Linux:进程介绍与命令

进程和程序的关系

程序:保存在硬盘中的可执行代码和数据,时静态保存的代码。
进程:在cpu及内存中运行的程序代码,是动态执行的代码,进程分父进程和子进程,每个程序可以创建多个进程。
每个程序启动后会获得一个内存空间,同时产生父进程,父进程进而fork一个或多个子进程,子进程和父进程一摸一样,只是子进程PID和父进程的PPID不同,每个子进程PID不一样。

父进程与子进程

当子进程终止或结束时,子进程会发送信号给父进程,父进程接收到信号后会对子进程的内存等资源进行回收,回收后子进程消失。
如果父进程没有收到子进程的信号,子进程就会空站着资源不进行工作,这时子进程被称为僵尸进程,僵尸进程对系统有害,需要及时清理。
如果父进程因为一些情况(比如被杀掉)消失了,子进程未被回收仍然在那,这时子进程变成孤儿进程。系统会自动检测有没有孤儿进程,如果有,systemd会对接受这些孤儿进程然后进行回收资源等操作,孤儿进程无害。

进程的几个状态

运行状态:进程正在运行。
睡眠状态:分为可中断和不可中断状态,可中断状态可以随时苏醒并工作,不可中断状态必须等睡眠状态结束才会苏醒并工作。
僵尸状态:但是没有父进程回收资源,空耗资源不工作。
阻塞状态:正在执行的进程由于某些事件而暂时无法运行,进程受到阻塞。
终止状态:进程结束后,进入终止状态。

进程相关的命令

ps命令

ps aux:查看进程的各种属性,约等于ps -elf,-elf
在这里插入图片描述
第一行:进程的各种属性
user:谁启动这个进程
PID:进程一旦启动,会产生一个PID,进程默认按PID1234排序
%CPU:占用多少CPU
%MEM:占用多少内存
VSZ:分配给他多少虚拟内存,默认kb为单位
RSS:实际占用多少物理内存
TTY(终端):这个进程运行在哪个终端运行,?表示没有终端,不依赖终端
TTY1表示本地登录,PTS表示通过远程连接的终端
STAT(状态):第一列中S是可中断睡眠状态,D不可中断睡眠状态,R正常运行状态,Z是僵尸状态,T是停止状态,X是死亡状态,大写表示进程的状态
第二列中s是控制性的进程,具有控制权限,<是具有高优先级的进程,N是具有低优先级的进程,+表示当前进程运行在前台,属于前台进程,l是多线程的进程
START:进程触发的时间
TIME:一共占用CPU的时间,CPU时间片的意思 时间的单位为毫秒
COMMAND:执行这个进程的命令是什么,中括号括起来的表示是内核自己产生的进程(内核态),不带的是用户自己产生的进程(用户态)

ps a:查看所有终端下的所有进程信息,除了当前用户还有其他用户
ps u:使用以用户为主的格式输出进程信息,当前用户
ps x:显示当前用户在所有终端下的进程信息
ps -e:显示系统内的所有进程信息
ps -f:使用完整的格式显示进程信息
ps -l:使用长格式显示进程信息
ps -o:指定输出字段,例如user,ppid

pstree命令

pstree:以树形显示所有进程的父进程和子进程,后面跟用户名只显示该用户的进程。
在这里插入图片描述
pstree -a:除了进程还会列出完整的命令。
pstree -u:-u列出对应的用户名。
pstree -p:列出对应的PID。

top命令

top:进入top界面,实时查看各个进程的属性。
在这里插入图片描述
top:当前时间
up:当前系统运行多长时间
users:有多少用户
load average:cpu的平均负载,<1表示没超负荷,>1表示超负荷
tasks:显示状态 total 总共有多少进程
%cpu:cpu占用的百分比
us:用户的cpu占用比
wa:等待时间,如果这个占用过大,要考虑资源占用问题
top默认按cpu占用大小来排,占用的多就排前面 默认3s显示
在这个界面中输入下面的命令:
M:按内存占用百分比降序排列
P:按CPU占用百分比降序排列
N:按PID号降序排列
h:查看帮助
s:修改top的更新时间,修改的时间单位为秒
1:显示所有cpu,默认显示1个cpu
q或者crtl+c退出top
top -d:设置top的刷新时间
top -p:单独看某个进程的实时信息,后面跟进程的PID

pgrep命令

pgrep不能单独使用,后面必须跟选项。
pstree -p:查看进程的PID
pstree -a:除了进程,还会列出完整命令
pstree -u:查看指定用户的进程

kill命令

kill:杀死进程
kill PID:杀死进程,后面必须跟进程号
kill -l:查看kill信号。1为重启,9强制,15流程走完再杀死(默认)
kill -9 PID:强制杀死进程(立即执行)
killall:杀死所有,后面可以加进程号,加kill信号,加进程名

后台前台调用命令

vim编辑器中命令模式Ctrl z:将此进程放到后台
jobs:查看后台进程
fg -1:把第一个后台进程调用到前台
bg 4:让后台的第四个停止的进程继续运行
kill %1:杀死后台第一个进程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值