云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux
Posted xfxfxf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux相关的知识,希望对你有一定的参考价值。
什么是进程
- 当程序运行为进程后,系统会为该进程分配内存,以及进程运行的身份和权限
- 在进程运行的过程中,系统会有各种指标来表示当前运行的状态
- daemon 守护进程(服务),持续运行的进程,一般是系统必须的服务(network,sshd....)
- 程序是数据和指令的集合,是一个静态的概念。比如/bin/ls 、 /bin/cp 等二进制文件。同时程序可以长期存在系统中。
- 进程是程序运行的过程,是一个动态的概念。进程是存在生命周期的概念的,也就是说进程会随着程序的终止而销毁,不会永久存在系统中。
进程生命周期
Process---fork--->Parent----wait--->Parent Process---->Process
Process---fork--->child process---exec--->child process--exit-->process/zombie
- 当父进程接收到任务调度时,会通过fork派生子进程来处理,那么子进程会继承父进程属性
- 子进程在处理任务代码时,父进程会进入等待状态
- 子进程完成任务后,会执行退出,然后唤醒父进程来回收子进程的资源
- 如果子进程在处理任务过程中异常退出,而父进程没有回收子进程的资源,会导致子进程依然在内核中的进程表中占据一条记录,占用系统空间
- 如果子进程在处理任务过程中,父进程退出了,子进程没有退出,那么子进程就没有父进程来管理了,由系统的system进程管理(孤儿进程)
- pstree -p 查看进程树的pid
监控和管理
ps -o %pid,可以单独提出pid这一列,同理有command等
ps --no-header 去掉标题
ps --sort cpu 按照cpu大小来排序,cpu前面加-是逆序
pgrep -a xxx #显示xxx的pid和进程名
ps aux 详解
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 194280 7464 ? Ss 4月21 2:32 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 4月21 0:00 [kthreadd]
vsz #virtual size 进程占用虚拟内存大小(kb) swap + 物理内存
rss #进程占用物理内存大小(kb) 物理内存
tty #tty是本地终端 pts是远程登录的终端 ?是内核进程,不需要终端
start #进程启动时间
time #进程占用cpu的时间
STAT进程状态
基本状态 | 描述 | STAT状态+符号 | 描述 |
---|---|---|---|
R | 进程运行 | s | 进程是控制进程,Ss进程的父进程 |
S | 可中断进程 | < | 高优先级 |
T | 进程被暂停 | N | 运行在低优先级 |
D | 不可终端进程 | + | 当前进程运行在前台 |
Z | 僵尸进程 | l | 进程是多线程 |
ps aux | awk \'$8~/Ss/\' 查找第八列STAT中状态为Ss的进程
以上是关于云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux的主要内容,如果未能解决你的问题,请参考以下文章