Linux--进程与作业管理

image

from pixiv



进程概念与进程查看

image

  • pstree

我发现help这个命令简直是个好东西,可以更快地显示出常用参数,可以先使用type xxx 来看下xxx命令的类型,然后再决定用help xxx还是xxx --help

pstree是以树的形式打印出当前全部运行的进程

image

就拿 pstree -a来说,上面显示加上-a可以现场出命令行参数

image

  • ps

image

这里在man ps中相关信息:
image

-f 表示以标准风格显示,即是详细地显示
image
其中PPID表示父进程的进程号,C表示占用CPU百分比
image

我们可以使用-o选项来指定上表中要查看的对象,同时还可以用--sort命令进行排序

image

  • pgrep
    image

进程的状态

image

image

具体基本进程状态含义看:这里
ps 只是显示一瞬间的进程的状态

top

输入命令 top,我们可以看到如下一段显示

image

这是top在事实地(应该说是刷新地)显示每一个运行进程的情况
我们可以按h键查看帮助
image
按q可以退出


会话、进程组、线程组

image

  • 会话
    image

image

使用ps j命令可以显示出会话Id(SID)

  • 进程组
    一条命令产生的所有进程为进程组,其中第一个进程为领头进程

  • 线程组
    一个进程中会有的(操作系统学过)


进程组与作业控制

image

ps j 就不多解释了:
image

jobs
image
加上-l可以看到进程号
jobs可以看到当前会话中的后台进程信息

fg [n] , bg [n] 这里的n是job中的下标,使用方式如下:
image
这里让xeyes进程回到前台运行
我们有一个方便使进程到后台运行的方法:
image

kill , killall , pkill 都是杀死指定进程


我们知道,killall和pkill 可以通过进程名来终止掉进程,那么当我们自己写一个脚本的时候,我们运行时,运行这个脚本的进程名是什么?

答案是 当我们写了如 #!/bin/bash 后,进程名是我们的脚本名

没有写时,进程名默认是bash


这里 kill 居然可以作为发送信号用的命令!

kill -STOP(-CONT/-KILL)%1(-p 进程号)

如上使用都可以

killall 具体进程名

上面这个具体进程名是我们调用这个命令的名字,比如我们使用时钟小程序oclock 那么就会有个进程名为oclock


后台进程的输入输出

image
image


注销后继续运行进程

通常我们有个需求:我想要当我用户下机后,我某个大型程序还能够运行,而不会应该用户注销而停止运行

image

nohup可以让我们在执行某个程序的时候,前面加上nohup就可以实现上述要求
但是有时候我最开始执行没有加上nohup,但是程序已经开始运行了,咋办?
image


进程和信号

image

我们的内核和进程,进程和进程可以通过信号进行交流

我们可以通过kill -l 查看简约的进程信号有哪些

image

通过man 7 signal 可以查看信号的详细信息

image

在这个standard signal这里
image
常用的信号:
image

向进程发送信号的方法

kill -9 1111 //向PID为1111的进程发送信号Value为9的信号 9信号即为杀死

kill -KILL 1111 //如9)SIGKILL 写后面的KILL也是可以的

kill -CONT 1111 // 这个是继续运行的信号

查看进程打开的文件

image

查看文件使用的进程

image


进程的优先级

image

我们的进程分为实时进程和默认进程
在实际系统中进程优先级按数值大小是0~139
但是我们在使用工具(ps,top等命令)的时候,进程优先级的数值会不一样,具体映射如上图



下面我们通过ps -el为例子进行讲解:

我们通过命令ps -el可以查看全部进程的信息
其中会出现的两个参数,PRI和NI:

image

image
image
PRI表示我们进程的优先级
我们可以通过设置NI来调整优先级
即PRI=PRI默认值(80)+NI (注意是在ps -el中显示的PRI默认值才为80)


更改进程的优先级

image

需要注意的是nice是只有进程开始执行的时候进行设置
可以通过renice调整正在运行的进程

image

posted @ 2023-10-23 19:19  次林梦叶  阅读(41)  评论(0)    收藏  举报