ps显示瞬时进程状态

本文详细介绍了Linux下ps命令的使用方法及参数选项,包括如何显示进程状态、不同选项的意义及其组合使用方式。此外还解释了输出字段如PID、%CPU、%MEM等的含义。

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

ps:显示瞬时进程状态


-A 显示所有进程(等价于-e)
-a 显示一个终端的所有进程
-e 等价于-A
-o 用户自定义格式
a 显示所有终端下的所有程序
e 显示程序时,同时显示每个程序所使用的环境变量
u 以用户为主的格式来显示程序
x 显示所有程序,不以终端机来区分


root:# ps aux
USER      PID       %CPU    %MEM    VSZ    RSS    TTY    STAT    START    TIME    COMMAND
smmsp    3521    0.0    0.7    6556    1616    ?    Ss    20:40    0:00    sendmail: Queue runner@01:00:00 f
root    3532    0.0    0.2    2428    452    ?    Ss    20:40    0:00    gpm -m /dev/input/mice -t imps2


USER    用户名
UID    用户ID(User ID)
PID    进程ID(Process ID)
PPID    父进程的进程ID(Parent Process id)
SID    会话ID(Session id)
%CPU    进程的cpu占用率
%MEM    进程的内存占用率
VSZ    进程所使用的虚存的大小(Virtual Size)
TTY    与进程关联的终端(tty)
STAT    进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行    Runnable (on run queue)            正在运行或在运行队列中等待。
S 睡眠    Sleeping                休眠中, 受阻, 在等待某个条件的形成或接受到信号。
I 空闲    Idle
Z 僵死    Zombie(a defunct process)        进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
D 不可中断    Uninterruptible sleep (ususally IO)    收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止    Terminate                进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
X 死掉的进程
< 高优先级进程                    高优先序的进程
N 低优先    级进程                    低优先序的进程
L 内存锁页    Lock                有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组 
START    进程启动时间和日期
TIME    进程使用的总cpu时间
COMMAND    正在执行的命令行命令
NI    优先级(Nice)
PRI    进程优先级编号(Priority)




参考:
http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185938.html
1.编写C程序,初始化一个count变量值为1,然后使用fork函数创建两个子进程,在父进程和子女进程中分别对count变量加1,并分别打印“I am father/son/daughter,count=X”,X是count的值,即分别打印“我是谁和count的值”,最后父进程使用waitpid等待两个子进程结束后退出。2.编译后,多次运行该程序,观察屏幕上显示结果的顺序性,直至出现不一样的情况为止,记下这种情况,并观察每行打印结果中count的值,试简单分析其原因。 3.改写前面的程序,用pthread_create函数代替fork使父进程创建两个线程,用pthread_join函数代替waitpid使父进程等待两个线程结束后退出,其他不变。4.编译链接后,多次运行该次序,观察屏幕上显示结果的顺序性,直至出现不一样的情况为止,记下这种情况,并观察每行打印结果中count的值,试简单分析其原因。5.在Linux平台上编写一段长循环程序,通过ps命令查看进程“运行”状态;6.向进程发送SIGSTOP信号,通过ps命令查看进程的“暂停”状态;向进程发送SIGCONT信号,通过ps命令查看进程恢复到“运行”状态;7.在Linux平台上编写调用sleep函数程序,通过ps查看进程“可中断阻塞”状态;8.在Linux平台上使用vfork创建子进程,通过ps查看主进程“不可中断阻塞”状态;9.在Linux平台上使用fork创建一个子进程,子进程不执行任何操作,而父进程调用sleep函数进入睡眠状态,通过ps命令查看父进程进入“可中断阻塞”状态,子进程进入“僵尸”状态;10.通过以上程序结果,结合资料查询,画出Linux下进程状态的转换图,并思考什么时候出现运行状态、暂停状态、可中断阻塞状态、不可中断阻塞状态以及僵尸状态。 解答一下第十题
05-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值