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

  • 姓名:杨富宏
  • 学号:201821121017
  • 班级:计算1811

1. 编写程序

在服务器上用VIM编辑器编写一个程序:一个进程创建(fork)两个子进程。给出源代码:

  1 #include<sys/types.h>
  2 #include<unistd.h>
  3 #include<stdio.h>
  4 int main()
  5 {
  6     pid_t f1,f2;
  7     int count=0;
  8 if((f1=fork())==0)
  9 printf("child process is %d\n!",getpid());
 10 else
 11 {
 12     if((f2=fork())==0)
 13         printf("child process is %d\n",getpid());
 14     else if((f2=fork())<0)
 15         printf("error!");
 16     else
 17         {
 18         printf("parents process is %d\n",getpid());
 19         count++;
 20         }
 21 }
 22 printf("couont = %d\n",count);
 23 sleep(5000);
 24 return 0;
 25 }

运行结果截图:

2. 打印进程树

打印1所创建的进程树结构:(yangfuhong@jmu-cs-ubuntu:~$ pstree -p 17135)

3. 解读进程相关信息

(1) ps -ef

UID         PID      PPID      C    STIME    TTY        TIME         CMD
yangfuh+    16339    13800     0    16:17    pts/2      00:00:00    ./test
yangfuh+    16340    16339     0    16:17    pts/2      00:00:00    ./test
yangfuh+    16341    16339     0    16:17    pts/2      00:00:00    ./test

UID:表示进程执行者的ID(杨富宏)

PID:进程ID

PPID:父进程ID

C:CPU占用资源的百分比

STIME:表示该进程的启动时间

TTY:终端次要装置号码

TIME:该进程执行的时间

CMD:进程对应的执行命令

(2) ps -aux

USER       PID    %CPU   %MEM    VSZ     RSS   TTY      STAT   START   TIME   COMMAND
yangfuh+   16339  0.0    0.0     4508    716   pts/2    S      16:17   0:00   ./test
yangfuh+   16340  0.0    0.0     4508    68    pts/2    S      16:17   0:00   ./test
yangfuh+   16341  0.0    0.0     4508    68    pts/2    S      16:17   0:00   ./test

USER: 进程拥有者

PID: 进程的ID

%CPU: 占用的 CPU 使用率

%MEM: 占用的记忆体使用率

VSZ: 占用的虚拟记忆体大小

RSS: 占用的记忆体大小

TTY: 终端次要装置号码

STAT: 该进程的状态,S为中断.

查阅资料得到如下:

1. D :不可中断 Uninterruptible(usually IO)
2. R :正在运行,或在队列中的进程
3. S :处于休眠状态
4. T :停止或被追踪
5. Z :僵尸进程
6. W:进入内存交换(从内核2.6开始无效)
7. X :死掉的进程
8. < :高优先级
9. n:低优先级
10. s: 包含子进程
11. “s+”: 位于后台的进程组

START: 进程开始时间

TIME:进程的执行时间

COMMAND:进程对应执行的命令

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

问题:怎么样才可以让进程树为满的状态?

可以再代码里创建进程的时候,父进程和子进程fork()可以设置为2次,这样就编程满的进程树。

还有就是可以设置一个变量float来显示进程树的层数,每加一层float+1。

posted @ 2020-04-03 17:20  waiting!  阅读(181)  评论(0编辑  收藏  举报