操作系统第2次实验报告:创建进程

姓名:郑楚杭

学号:201821121009

班级:计算1811

一、实验目的

熟练Linux创建进程fork操作。

二、实验内容

  • 在服务器上用VIM编写一个程序:一个进程创建两个子进程。
  • 查看进程树
  • 查看进程相关信息

三、实验报告

 

1. 编写程序

 

 

 

2. 打印进程树

编译1的程序并运行:

 

打印进程树:

 

 

3. 解读进程相关信息

(1) ps -ef

   UID         PID    PPID      C       STIME     TTY        TIME      CMD
zhengch+    31795  31794    0       23:29     pts/4    00:00:00   -bash
zhengch+      309    308      0       23:35     pts/3    00:00:00   -bash
zhengch+ 3   1794   31679     0       23:29     ?        00:00:00   sshd: zhengchuhang@pts/4
UID:说明该程序被谁拥有
PID:就是指该程序的 ID
PPID: 就是指该程序父级程序的 ID
C: 指的是 CPU 使用的百分比
STIME: 程序的启动时间
TTY: 指的是登录终端
TIME : 指程序使用掉 CPU 的时间
CMD:下达的指令

(2) ps -aux

USER       PID  %CPU %MEM   VSZ   RSS  TTY  STAT  START  TIME   COMMAND

zhengch+   24850 0.0  0.3  76632  7464  ?   Ss  22:45  0:00 /lib/systemd/sy

zhengch+   24851 0.0  0.1  112468 3100  ?    S  22:45   0:00  (sd-pam)

zhengch+   31795 0.0  0.2   21944  4868 pts/4 Ss  23:29   0:00   -bash

USER: 进程拥有者
 
PID: pid
 
%CPU: 占用的 CPU 使用率
 
%MEM: 占用的内存使用率
 
VSZ: 占用的虚拟内存大小
 
RSS: 占用的内存大小
 
TTY: 终端的次要装置号码 (minor device number of tty)
     pts/0,1,2是标准输入,标准输出,标准出错
 
STAT: 该行程的状态,linux的进程有5种状态:
 
   D 不可中断 uninterruptible sleep (usually IO)
 
   R 运行 runnable (on run queue)
 
   S 中断 sleeping
 
   T 停止 traced or stopped
 
   Z 僵死 a defunct (”zombie”) process
 
START: 行程开始时间
 
TIME: 执行的时间
 
COMMAND:所执行的指令

4. 通过该实验产生新的疑问及解答

产生的疑问1:

执行ps -aux命令后,Stat状态出现了S和Ss两种情况,已知S表示中断,那么Ss表示什么?

解答1:

S表示的是中断,s表示包含子进程。

产生的疑问2:

为什么在编译运行c程序后得到父进程以及两个子进程的pid,但是在执行pstree -p pid无法打印出进程树?

解答2:

原因是需要在一个终端后台跑程序,另一个终端执行命令来打印进程树。

posted on 2020-04-03 00:01  EzforNiko+  阅读(316)  评论(0编辑  收藏  举报

导航