【并发程序设计】2.进程常用命令

2.进程常用命令

进程信息命令

  1. ps 查看系统进程快照
  2. top 查看进程动态信息
  3. pstree 查看进程树,显示进程的层次结构

ps 命令

  1. 格式ps [options]
  2. 功能:查看当前运行的进程信息
  3. 参数
    • options(可选参数)
      • -a:显示所有终端下的进程信息。
      • -u:显示指定用户的进程信息。
      • -x:显示没有控制终端的进程信息。
      • -e:显示所有进程信息。
      • -f:显示完整格式的进程信息。
      • -l:显示长格式的进程信息。
      • -o:自定义输出格式。
  4. 示例
    • ps -elf |grep a.out列出所有进程的详细信息,并筛选出与a.out相关的进程信息
    • ps -ef显示完整格式的进程信息

top 命令

  1. 格式top [options]
  2. 功能:实时显示系统中各个进程的资源占用情况,包括CPU、内存等
  3. 参数
    • options(可选参数)
      • -d:设置刷新间隔时间。
      • -p:监控指定进程ID的进程。
      • -u:监控指定用户的进程。
      • -n:设置刷新次数。
      • -b:以批处理模式运行。
  4. 示例
    • shift+ > 后翻页
    • shift+ < 前翻页
    • top -p 1234监控指定进程ID为1234的进程
    • top -u root监控指定用户为root的进程

进程信息表

在这里插入图片描述

表头含义:

  • F 进程标志,说明进程的权限,常见的标志有两个:

    • 1:进程可以被复制,但是不能被执行;
    • 4:进程使用超级用户权限;
  • S 进程状态,常见的状态有以下几种:

    • -D:不可被唤醒的睡眠状态,通常用于 I/O 情况
    • -R:该进程正在运行
    • -S:该进程处于睡眠状态,可被唤醒
    • -T:停止状态,可能是在后台暂停或进程处于除错状态
    • -W:内存交互状态(从 2.6 内核开始无效)
    • -X:死掉的进程(应该不会出现)
    • -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中
    • -<:高优先级(以下状态在 BSD 格式中出现)
    • -N:低优先级
    • -L:被锁入内存
    • -s:包含子进程
    • -l:多线程(小写 L)
    • -+:位于后台
  • UID: 运行此进程的用户的 ID

  • PID: 进程的 ID

  • PPID: 父进程的 ID

  • C: 该进程的 CPU 使用率,单位是百分比

  • PRI: 进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行

  • NI: 进程的优先级,数值越小,该进程越早被执行;

  • ADDR: 该进程在内存的哪个位置;

  • SZ: 该进程占用多大内存;

  • WCHAN: 该进程是否运行。"-"代表正在运行;

  • TTY: 该进程由哪个终端产生;

  • TIME: 该进程占用 CPU 的运算时间,注意不是系统时间;

  • CMD: 产生此进程的命令名;

进程优先级命令

  1. nice 启动进程时调整进程的优先级
  2. renice 修改已经运行的进程的优先级

nice 命令

  1. 格式nice [options] [command]
  2. 功能启动进程时调整进程的优先级,使得CPU资源分配更加合理
  3. 参数
    • options(可选参数)
      • -n:设置进程的优先级,范围为-20(最高优先级)到19(最低优先级),默认值为0。
      • --adjust=N:调整当前进程的优先级,N的取值范围与-n相同。
    • command:命令,如lscd
  4. 示例
    • nice command以默认优先级运行命令
    • nice -n -20 ls将进程优先级设置为最高(-20)

renice 命令

  1. 格式renice [options] [NI值] -p [ID]
  2. 功能:修改已经运行的进程的优先级
  3. 参数
    • -n :设置进程的优先级,范围为-20(最高优先级)到19(最低优先级),默认值为0。
    • -p:指定要修改优先级的进程ID。
    • -g:指定要修改优先级的进程组ID。
    • -u :指定要修改优先级的用户ID。
  4. 注意:
    • NI 范围是 -20~19。数值越大优先级越低
    • 普通用户调整 NI 值的范围是 0~19,而且只能调整自己的进程。
    • 普通用户只能调高 NI 值,而不能降低。如原本 NI 值为 0,则只能调整为大于 0。
    • 只有 root 用户才能设定进程 NI 值为负值,而且可以调整任何用户的进程。
  5. 示例
    • sudo renice -n -20 -p 1234将进程ID为1234的进程优先级设置为最高(-20)
    • sudo renice +5 -p 1234将进程ID为1234的进程优先级增加5

后台进程命令

  1. jobs 查看后台进程
  2. bg [进程号] 将挂起的进程在后台运行
  3. fg [进程号] 把后台运行的进程放到前台运行
  4. ctrl+z 把刚运行的程序转到后台运行
  5. &: 在命令后面加上 & 符号可以将该命令放到后台执行
  • 27
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1 进程是操作系统中把一个任务分解成一个个子任务执行单元的基本概念。2. 进程包括程序代码、数据、寄存器状态、程序计数器等数据。3. 程序的编译是把高级语言源程序转换成机器语言指令;链接是把编译后的目标程序与库函数连接到一起;加载是把链接后的可执行文件放入内存中;运行是把已加载的可执行文件释放到CPU上执行。4. 程序顺序执行是指按程序代码的顺序执行,每条条指令按顺序编译、链接、加载、运行。5. 程序并发执行是指在一定时间内,多个程序可以同时运行,比如多任务操作系统的程序。6. 进程程序的区别与联系:程序是指一段可以运行的机器语言代码,而进程是指一个正在运行中的程序,同一个程序可以对应多个进程,而进程中又包含有程序代码。7. 进程状态及其转换:进程可以处于就绪、运行、阻塞、结束等状态,并可以在这些状态之间转换。8. 进程管理块(PCB)是操作系统用来管理进程的数据结构,其中包括进程标识符、进程状态、进程控制块等信息。9. 调度程序是操作系统根据计算机系统状态,选择合适的进程运行的程序。10. 进程的上下文指的是进程正在运行时,CPU中各部件所处的状态。11. 上下文切换是指操作系统在执行多个进程时,通过保存和恢复进程的上下文,实现不同进程之间的切换。12. 进程控制原语是操作系统提供的一组接口,用于控制进程的生命周期。13. 进程可以通过系统调用或者用户编程实现,创建一个新的进程,并设置其运行环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值