美文网首页
进程管理

进程管理

作者: 放下梧菲 | 来源:发表于2020-05-03 20:12 被阅读0次

1、进程与程序

执行一个程序或命令就可以触发一个进程。



这里我们用bash,调用一个新的进程,可以看出,第二个子进程的PPID就是第一个进程的PID,PPID就是父进程的PID,从这里看的出来子进程和父进程的关系。状态也能够看得出来。

2、任务管理

  • 直接将命令丢到后台执行的&


可以看到我这里解压缩一个文件,放到后台运行,我可以执行其他命令,我执行其他命令完成后,这个解压缩文件也完成了。是不会影响我前台的操作的。但是这个程序不是很完美,最好是给他重定向一下,这样没有数据提示。

  • 将目前的任务丢到后台中的暂停:ctrl + z


    当你打开一个文件的时候按暂停操作,即可返回前台执行别的操作
  • 查看目前的后台任务状态:jobs
    jobs [-lrs]
    -l: 除了列出job number 与命令串之外,同时列出PID号码
    -r:仅列出正在后台run的任务
    -s:仅列出正在后台当中暂停的任务

这里可以看出之前在后台运行的打开的文件
  • 将后台任务拿到前台来处理 :fg
    fg %jobnumber
这里我又新建一个进程,fg默认进入最先放到后台的进程
  • 让任务在后台下的状态变成运行中:bg
这里可以看得出来程序从已停止变成了正在运行中
  • 管理后台当中的任务: kill
    kill可以直接删除后台当中的任务。
    kill -signal %jobnumber
    kill -l 列出能用的信号


    还可以man 7 signal来看signal如何使用
通过本图就可以看得出来一个任务被强制删除了

3、进程管理

1、查看进程
  • ps:将某个时间点的进程运行截取下来

仅查看自己的bash相关进程: ps -l


F:代表这个进程标志,说明为权限。
S:状态。
UID/PID/PPID:进程的UID,PID,父进程的PID。
C:CPU使用率
PRI/NI:Priority/Nice的缩写,代表此进程被CPU所执行的优先级,数值越小代表该进程越快被执行。
ADDR:该进程位于内存中哪个地方,如果正在运行,则显示-
SZ:代表该进程用掉多少内存
WCHAN:是否正在运行,如果运行则是-
TTY:终端位置
TIME:使用CPU时间
CMD:触发进程的命令。

查看系统所有进程:ps aux


USER:该进程属于所属用户账号
PID:该进程的进程ID
%CPU:该进程使用掉的CPU资源百分比
%MEM:该进程所占的物理内存百分比
VSZ:该进程使用掉的虚拟内存量
RSS:该进程占用的固定的内存量
TTY:该进程在哪个终端上运行的,若与终端无关则显示?
STAT:该进程目前的状态,状态显示与ps -l 的S相同。
START:该进程被被触发启动时间。
TIME:该进程实际使用CPU运行的时间。
COMMAND:该进程实际命令

  • top:动态查看进程的变化
    top [-d 数字] | top [-bnp]

-d:后面可以接秒数,进程界面更新的秒数,默认是5s
-b:以批量的方式执行top
-n:与-b搭配,意义是,需要执行几次top的输出结果
-p:指定某些个PID来执行查看检测

还有很多参数不一一列举,大家可以man top来查看进程变化。


top -d 2

上面的界面是整个系统的资源使用状况,下面的界面是每个进程的使用的资源情况。

  • pstree:可以列出进程树
    可以很容易的看出进程之间的相关性。


2、进程的管理

进程之间是可以相互控制的。
kill -signal PID
killall -signal 命令名称

kill后面加上PID,一般都要配合ps,pstree等命令。但是killall可以利用执行命令的名称来给予信号。

可以直接删除以httpd启动的进程 -i可以交互性的提示用户是否删除

3、进程的执行顺序

正如之前所说的执行顺序即是所谓的优先级取决于priority与nice值。
priority 是无法被改变的,它是由系统内核动态调整的。
但是我们可以通过修改nice的值来修改优先级。
PRI(new)=PRI(old)+nice
nice的调整范围是-20-19,root可以随便调整自己或者他人进程的nice值,一半用户只可以将nice值越调越高。

  • nice 新执行的命令立即给予新的nice值
    nice [-n 数字] command
    -n : 后面接一个数值,数值的范围为-20-19


    这里可以很清楚看见优先级的变化

注意:不一定每次都会按照你设置的调整,因为内核会动态的变化Pri。

  • renice 已存在进程的nice重新调整
    renice [number] PID
可以看的出来第一个进程Pri减少了5

相关文章

  • Android性能探索

    进程管理&内存管理 进程生命周期进程优先级:前台进程可见进程服务进程后台进程 (LRU Cache & 占用内存...

  • linux 下的系统调用

    一、主要有以下模块 -进程管理-内存管理-文件管理-信号处理-进程通信-网络通信 一、进程管理 1.父进程通过fo...

  • Linux 系统管理

    视频教程:Linux系统管理 一、进程管理 进程管理 简介:进程就是正在运行的程序或者命令,进程管理就是对正在运行...

  • Linux进程管理详解(转)

    Linux进程管理详解 1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一...

  • Linux 内存笔记基础

    系统 1. 内存管理 2. 文件目录 3. IO 4. 进程管理进程创建进程控制进程通信进程同步 5. 线程管理线...

  • supervisor

    Supervisor进程管理,只能管理非daemon的进程,不能管理守护进程。 安装 yum 默认主配置文件在/e...

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

  • Linux进程管理 day22

    1.管理进程状态2.管理后台进程3.进程的优先级4.系统平均负载 一、管理进程状态 昨天主要学习了进程(正在运行的...

  • mac 安装配置supervisor

    supervisor 管理进程用的, 公司线上的进程管理就是supervisor.python 写的 , 子进程中...

  • 打通Framework与Kernel-谈谈我对进程管理的理解

    Kernel:Linux学习-进程管理与调度(一)-进程描述及其生命周期Linux学习-进程管理与调度(二)-进程...

网友评论

      本文标题:进程管理

      本文链接:https://www.haomeiwen.com/subject/znvdghtx.html