当前位置: 首页 > news >正文

进程【TLCL】

ps命令

ps x

加上 "x" 选项(注意没有开头的 "-" 字符),告诉 ps 命令,展示所有进程,不管它们由什么 终端(如果有的话)控制。

在 TTY 一栏中出现的 "?" ,表示没有控制终端。使用这个 "x" 选项,可以 看到我们所拥有的每个进程的信息。

 

进程状态

状态含义
R运行中。这意味着,进程正在运行或准备运行。
S正在睡眠。进程没有运行,而是,正在等待一个事件, 比如说,一个按键或者网络分组。
D不可中断睡眠。进程正在等待 I/O,比方说,一个磁盘驱动器的 I/O。
T已停止. 已经指示进程停止运行。稍后介绍更多。
Z一个死进程或“僵尸”进程。这是一个已经终止的子进程,但是它的父进程还没有清空它。 (父进程没有把子进程从进程表中删除)
<一个高优先级进程。这可能会授予一个进程更多重要的资源,给它更多的 CPU 时间。 进程的这种属性叫做 niceness。具有高优先级的进程据说是不好的(less nice), 因为它占用了比较多的 CPU 时间,这样就给其它进程留下很少时间。
N低优先级进程。 一个低优先级进程(一个“nice”进程)只有当其它高优先级进程被服务了之后,才会得到处理器时间。

 

ps aux

这个选项组合,能够显示属于每个用户的进程信息。通过这些选项,我们得到 这些额外的列。

标题含义
USER用户 ID. 进程的所有者。
%CPU以百分比表示的 CPU 使用率
%MEM以百分比表示的内存使用率
VSZ虚拟内存大小
RSS进程占用的物理内存的大小,以千字节为单位。
START进程启动的时间。若它的值超过24小时,则用天表示。

 

top命令

top

top 程序以进程活动顺序显示连续更新的系统进程列表。

行号字段意义
1top程序名。
 14:59:20当前时间。
 up 6:30这是正常运行时间。它是计算机从上次启动到现在所运行的时间。 在这个例子里,系统已经运行了六个半小时。
 2 users有两个用户登录系统。
 load average:加载平均值是指,等待运行的进程数目,也就是说,处于可以运行状态并共享 CPU 的进程个数。 这里展示了三个数值,每个数值对应不同的时间段。第一个是最后60秒的平均值, 下一个是前5分钟的平均值,最后一个是前15分钟的平均值。若平均值低于1.0,则指示计算机 工作不忙碌。
2Tasks:总结了进程数目和这些进程的各种状态。
3Cpu(s):这一行描述了 CPU 正在进行的活动的特性。
 0.7%us0.7% 的 CPU 被用于用户进程。这意味着进程在内核之外。
 1.0%sy1.0%的 CPU 时间被用于系统(内核)进程。
 0.0%ni0.0%的 CPU 时间被用于"nice"(低优先级)进程。
 98.3%id98.3%的 CPU 时间是空闲的。
 0.0%wa0.0%的 CPU 时间来等待 I/O。
4Mem:展示物理内存的使用情况。
5Swap:展示交换分区(虚拟内存)的使用情况。

两个最有趣的命令是 h 和 q。h,显示程序的帮助屏幕,q, 退出 top 程序。

 

把命令放到后台运行

xlogo &

jobs 【查看任务】

 

 

进程返回前台

fg %1

输入 Ctrl-c 来终止 xlogo 程序

 

停止一个进程

xlogo

 Ctrl-z

如果我们从命令行启动一个图形程序,但是忘了在命令后加字符 “&”, 将一个进程从前台移动到后台也是很方便的。

 

信号

kill PID/jobspec

在使用 Ctrl-c 的情况下,会发送一个叫做 INT(Interrupt,中断)的信号;

当使用 Ctrl-z 时,则发送一个叫做 TSTP(Terminal Stop,终端停止)的信号。

 

kill [-signal] PID...

如果在命令行中没有指定信号,那么默认情况下,发送 TERM(Terminate,终止)信号

编号名字含义
1HUP挂起(Hangup)。这是美好往昔的残留部分,那时候终端机通过电话线和调制解调器连接到 远端的计算机。这个信号被用来告诉程序,控制的终端机已经“挂断”。 通过关闭一个终端会话,可以展示这个信号的作用。在当前终端运行的前台程序将会收到这个信号并终止。

许多守护进程也使用这个信号,来重新初始化。这意味着,当一个守护进程收到这个信号后, 这个进程会重新启动,并且重新读取它的配置文件。Apache 网络服务器守护进程就是一个例子。

2INT中断。实现和 Ctrl-c 一样的功能,由终端发送。通常,它会终止一个程序。
9KILL杀死。这个信号很特别。尽管程序可能会选择不同的方式来处理发送给它的 信号,其中也包含忽略信号,但是 KILL 信号从不被发送到目标程序。而是内核立即终止 这个进程。当一个进程以这种方式终止的时候,它没有机会去做些“清理”工作,或者是保存工作。 因为这个原因,把 KILL 信号看作最后一招,当其它终止信号失败后,再使用它。
15TERM终止。这是 kill 命令发送的默认信号。如果程序仍然“活着”,可以接受信号,那么 这个它会终止。
18CONT继续。在一个停止信号后,这个信号会恢复进程的运行。
19STOP停止。这个信号导致进程停止运行,而不是终止。像 KILL 信号,它不被 发送到目标进程,因此它不能被忽略。

其他常用信号列表

编号名字含义
3QUIT退出
11SEGV段错误(Segmentation Violation)。如果一个程序非法使用内存,就会发送这个信号。也就是说, 程序试图写入内存,而这个内存空间是不允许此程序写入的。
20TSTP终端停止(Terminal Stop)。当按下 Ctrl-z 组合键后,终端发送这个信号。不像 STOP 信号, TSTP 信号由目标进程接收,且可能被忽略。
28WINCH改变窗口大小(Window Change)。当改变窗口大小时,系统会发送这个信号。 一些程序,像 top 和 less 程序会响应这个信号,按照新窗口的尺寸,刷新显示的内容。

 

通过 killall 命令给多个进程发送信号

killall [-u user] [-signal] name...

给匹配特定程序或用户名的多个进程发送信号。

 

其他与进程相关的命令

命令名命令描述
pstree输出一个树型结构的进程列表(processtree),这个列表展示了进程间父/子关系。
vmstat输出一个系统资源使用快照,包括内存,交换分区和磁盘 I/O。 为了看到连续的显示结果,则在命令名后加上更新操作延时的时间(以秒为单位)。例如,“vmstat 5”。 ,按下 Ctrl-c 组合键, 终止输出。
xload一个图形界面程序,可以画出系统负载随时间变化的图形。
tloadterminal load与 xload 程序相似,但是在终端中画出图形。使用 Ctrl-c,来终止输出。

转载于:https://www.cnblogs.com/songdechiu/p/9944244.html

相关文章:

  • 深入数据库索引背后算法及数据结构
  • 基于游标的分页接口实现
  • Docker1---安装
  • 如何利用极致业务基础平台构建一个通用企业ERP之十二收款单设计
  • 如何给esxi打补丁
  • OpenCart之信息中心(Information)模块教程
  • KbmMW 4.40.00 正式版发布
  • keepalived实现lvs高可用并负载均衡lamp
  • java调试技巧
  • 浅析微信支付:支付验收示例和验收指引
  • 网络中IP地址划分
  • 链表六:二叉搜索树与双向链表
  • 新一代海量数据架构分析:NoHadoop
  • chapter1.3、JS的分支语法
  • 企业邮件系统多域通讯录共享方案
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 2018一半小结一波
  • Android组件 - 收藏集 - 掘金
  • C学习-枚举(九)
  • java8-模拟hadoop
  • Redash本地开发环境搭建
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Unix命令
  • 大快搜索数据爬虫技术实例安装教学篇
  • 将 Measurements 和 Units 应用到物理学
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 面试总结JavaScript篇
  • 前端_面试
  • 入手阿里云新服务器的部署NODE
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 原生 js 实现移动端 Touch 滑动反弹
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (十三)Maven插件解析运行机制
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .htaccess配置常用技巧
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 使用ajax控件后如何调用前端脚本
  • .NET 中的轻量级线程安全
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net开发引用程序集提示没有强名称的解决办法
  • ::什么意思
  • @Not - Empty-Null-Blank
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [14]内置对象
  • [2016.7 test.5] T1
  • [20170713] 无法访问SQL Server
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Angular] 笔记 20:NgContent