个人信息
姓名:郑楚杭
学号: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: [email protected]/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:
原因是需要在一个终端后台跑程序,另一个终端执行命令来打印进程树。
原文地址:https://www.cnblogs.com/hg65596302/p/12623980.html
时间: 2024-10-28 06:28:00