姓名:李冠毅 学号:201822121031 班级:计算1811
目录
一、实验目的
熟练Linux创建进程fork操作。
二、实验内容
- 在服务器上用VIM编写一个程序:一个进程创建两个子进程。
- 查看进程树
- 查看进程相关信息
三、实验报告
1. 编写程序
在服务器上用VIM编辑器编写一个程序:一个进程创建(fork)两个子进程。给出源代码:
2. 打印进程树
提示:
- 使用
unsigned sleep(unsigned seconds)
挂起进程,以便打印进程树 - 打印进程树命令
pstree -p pid
3. 解读进程相关信息
使用ps -ef
给出所创建进程的信息,并分析每个字段的含义。
UID:用户ID为liguanyi
PID:该进程的ID为:19666、19667、19668
PPID:进程19666的父进程ID为15124,进程19667、19668的父进程ID为19666
C:进程cpu占有率为0
STIME:进程启动时间为11:05
TTY:该进程登录终端
TIME:进程所占用CPU的时间,为0
CMD:执行文件名
使用ps -aux
给出所创建进程的信息,并分析每个字段的含义。
USER:用户名liguanyi
PID:进程的ID
%CPU:该进程所占CPU百分比
%MEN:该进程所占内存百分比,如图所示则三个进程都未占用内存
VSZ:占用虚拟记忆体的大小
RSS:占用记忆体的大小
TTY:登录进程终端机位置
STAT:进程状态,T暂停状态或跟踪状态;Z 退出状态,进程成为僵尸进程
START:进程开始时间
TIME:进程运行时间
COMMAND:运行该进程所下达的指令,用./test执行test文件
4. 通过该实验产生新的疑问及解答
关于进程STAT的别的状态?
Linux进程状态:T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态。
Linux进程状态:Z (TASK_DEAD – EXIT_ZOMBIE),退出状态,进程成为僵尸进程。
Linux进程状态:X (TASK_DEAD – EXIT_DEAD),退出状态,进程即将被销毁。
Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态。
Linux进程状态:D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。