在服务器上用VIM编辑器编写一个程序:一个进程创建(fork)两个子进程。给出源代码:
#include<stdio.h> #include<unistd.h> #include<sys/types.h> int main() { pid_t p1,p2; int count=0; if((p1=fork())==0) { printf("CHILD FROCESS,My process id is %d\n",getpid()); } else { if(p2=fork()==0) { printf("CHILD PROCESS,My process id is %d\n",getpid()); } else { printf("PARENT PROCESS,My process id is %d\n",getpid()); count++; } } printf("count: %d\n",count); sleep(10000); return 0; }
(1) ps -ef
UID PID PPID C STIME TTY TIME CMD linshun+ 22735 22608 0 17:03 pts/6 00:00:00 ./a.out linshun+ 22736 22735 0 17:03 pts/6 00:00:00 ./a.out linshun+ 22737 22735 0 17:03 pts/6 00:00:00 ./a.out
UID:该进程执行的用户ID
PID:进程ID
PPID:该进程的父级进程ID
C:CPU占用率,单位:%
STIME:进程的启动时间
TTY:终端的次要装置号码 (minor device number of tty)
TIME:进程的执行时间
CMD:进程的名称或对应的路径
分析:
通过PID与PPID的匹配,从下至上找到有关的子进程与父进程
分析一个进程创建两个子进程的进程ID 可以发现22736与22737的父进程均为22735
上述即印证了前面给出的进程树(一个进程创建了两个子进程)
通过CMD可以看见 三个进程同属于(./a.out) 即该(./a.out)进程的主进程已经两个子进程
(2) ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND linshun+ 22735 0.0 0.0 4508 792 pts/6 S+ 17:03 0:00 ./a.out linshun+ 22736 0.0 0.0 4508 72 pts/6 S+ 17:03 0:00 ./a.out linshun+ 22737 0.0 0.0 4508 72 pts/6 S+ 17:03 0:00 ./a.out
USER: 进程拥有者
PID:进程ID
%CPU:占用的 CPU 使用率
%MEM:占用的记忆体使用率
VSZ:占用的虚拟记忆体大小
RSS:占用的记忆体大小
TTY:终端的次要装置号码 (minor device number of tty)
STAT:该行程的状态,linux的进程有5种状态:
– D 不可中断 uninterruptible sleep (usually IO)
– R 运行 runnable (on run queue)
– S 中断 sleeping
– T 停止 traced or stopped
– Z 僵死 a defunct (”zombie”) process–注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优内存锁页)
START:行程开始时间
TIME:执行的时间
COMMAND:所执行的指令
分析:
VSZ(占用的虚拟记忆体大小)均为1508 而RSS(占用的记忆体大小)则是父进程较大 两个子进程较小 且相同
STAT为S+ S+的意思可以分解为 正在休眠中与位于后台的进程组 印证了前面使用‘unsigned sleep(unsigned seconds)‘
挂起进程
疑问:
为什么CPU与MEM均为0.0
解答:
由于上面的程序CPU与内存占用量较少故导致CPU与MEM均显示0
编写一个python程序 较大数的循环累加和 输入一个较大的数使其循环累加
使用ps -aux得出:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND linshun+ 27618 8.5 0.5 29108 9480 pts/6 S+ 17:36 0:06 python3 add.py
运行此程序后 该进程的CPU占用率为8.5%,内存使用率为0.5%均不为0
所以可以得出 上个程序的CPU与MEM数据为0是由于程序进程本身占用量不大导致的
原文:https://www.cnblogs.com/blogs-lin/p/12610468.html