操作系统实验三1
分别从至少三个虚拟终端登录,以树状形式列出你的系统中当前运行的所有进程及其PID
找出你当前运行进程的所有祖先进程,并说明其各自的作用
分析Linux系统中的进程的家族关系
tty1tty2tty3所有进程的祖先进程为systemd,是linux下的一种init软件
Linux软件中init是一个由内核启动的用户级进程,内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程
所以init始终是第一个进程(其进程编号始终为1)
init有许多很重要的任务,比如像启动getty(用于用户登录)、实现运行级别、以及处理孤立进程等
执行下列命令和操作:$sleep180^Z$jobs$sleep240&$sleep300&$sleep330&$sleep630&$jobs$fg%4^C$bg%1$kill%5解释命令的作用和执行结果
sleep可以用来将目前动作延迟一段时间,ctrl+c键结束进程,jobs查看后台运行,用fg%1将其放到前台
ctrl+z键可停止bg%1将其恢复
利用/proc文件系统,选择一个进程,如-bash(代表是登陆shell,,平时的是交互shell列出并解释/proc/$PID/cmdline,/proc/$PID/stat,/proc/$PID/statu文件的内容
cmdline文件stat文件status文件cmdline文件:进程的命令行参数:bash^@stat文件:pid=6873进程(包括轻量级进程,即线程)号comm=bash应用程序或命令的名字task_state=S任务的状态,R:runnign,S:sleeping(TASK_INTERRUPTIBLE),D:disksleep(TASK_UNINTERRUPTIBLE)