zoukankan      html  css  js  c++  java
  • 操作系统第2次实验报告:创建进程

    个人信息:

    • 姓名:林永鑫
    • 学号:201821121040
    • 班级:计算1812

    1. 编写程序

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

    运行结果:

    2. 打印进程树

    打印1所创建的进程树结构,给出带有自己名字的截图。

    使用sleep(100)挂起进程,以便打印进程树

    3. 解读进程相关信息

    (1) ps -ef

    使用ps -ef给出所创建进程的信息,并分析每个字段的含义。

     

    UID:该进程执行的用户ID

    PID:进程的ID

    PPID:该进程的父级进程ID

    C:CPU占用率,单位:%

    STIME:进程的启动时间

    TTY:该进程在哪个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)若为pts/0等,则表示由网络连接主机进程

    TIME:该进程实际使用CPU运行的时间

    CMD:进程的名称或对应的路径

    (2) ps -aux

    使用ps -aux给出所创建进程的信息,并分析每个字段的含义。

     

     

    USER:进程的属主
    PID:进程的ID
    %CPU:进程占用的CPU百分比
    %MEM:表示该进程占用内存的百分比,途中表示三个进程都没有占用内存
    RSS:该进程占用的固定内存量(KB)
    TTY:该进程在哪个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)若为pts/0等,则表示由网络连接主机进程
    STAT:状态位常见的状态字符
    START:该进程被触发启动的时间
    TIME:该进程实际使用CPU运行的时间
    COMMAND :命令的名称和参数;
    D :无法中断的休眠状态(通常 IO 的进程);
    R: 正在运行可中在队列中可过行的;
    S: 处于休眠状态;
    T :停止或被追踪;
    W: 进入内存交换 
    X :死掉的进程 (基本很少见);
    Z: 僵尸进程;

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

    通过该实验如果有产生新的疑问,可以写出来,并尝试自己解决问题。

    1.在编辑代码的时候出现:E348:No string under cursor(提示)

    解决方法:

    按一下“ESC”,即可回到命令行模式,输入按一下“:”冒号键进入底行模式。
    输入:
    : w filename (将文章以指定的文件名filename保存)
    : wq (输入「wq」,存盘并退出vim)
    : q! (输入q!, 不存盘强制退出vim)
    2.在打印进程树的时候使用pstree -p pid 无法打印出进程树
    解决方法:增加挂起的时间(我将原来的sleep(10)改为sleep(100))
  • 相关阅读:
    vue 相对其他热门 框架 优点 --- 待续
    vue router 只需要这么几步
    正则表达式
    MySQL数据库优化的八种方式
    Django REST Framework 最佳实践
    Node.js ZLIB
    Node.js 虚拟机
    Node.js 实用工具
    Node.js URL
    Node.js UDP/Datagram
  • 原文地址:https://www.cnblogs.com/lyxsg/p/12624117.html
Copyright © 2011-2022 走看看