Linux基础入门:⑨Linux进程管理


程序是一组指令及参数的集合,按照既定的逻辑控制计算机运行用来完成特定任务
进程则是运行着的程序,是操作系统执行的基本单位,是程序运行的过程, 动态,有生命周期及运行状态
程序和进程的区别
程序是静态的,它只是一组指令的集合,不具有任何的运行意义。而进程是程序运行的动态过程
进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程
进程还具有并发性和交往性,而程序却是封闭的
进程和线程的区别
一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有
线程不能单独执行,但是每一个线程都有程序的入口、执行序列以及程序出口,它必须组成进程才能被执

父子进程的关系 子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程 在linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。 父进程终止子进程自然终止。子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码。随后,子进程可能exec自己的程序代码。通常,父进程在子进程运行期间处于睡眠(sleeping)状态。当进程完成时发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境,剩余的部分称之为僵停(僵尸
Zombie)。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行其自己的程序代码。

Linux进程管理命令

命令作用
pstree用于查看进程树之间的关系
pstree-A:各进程树之间的连接以ASCII码字符来连接
pstree-U各进程树之间的连接以utf8字符来连接,某些终端可能会有错误
pstree-p同时列出每个进程的PID
pstree-u同时列出每个进程的所属账号名称:
命令作用
pgrep经常要查看进程的信息,包括进程的是否已经消亡
pgrep-l同时显示进程名和PID
pgrep-o当匹配多个进程时,显示进程号最小的那个
pgrep-n当匹配多个进程时,显示进程号最大的那个
命令作用
kill杀死指定的进程
-Z只杀死拥有scontext 的进程
-e要求匹配进程名称
-I忽略小写
-g杀死进程组而不是进程
-i交互模式,杀死进程前先询问用户
-l列出所有的已知信号名称
-q不输出警告信息
-s发送指定的信号
-v报告信号是否成功发送
-w等待进程死亡

htop命令

htop跟top一样,也是打开一个实时的监控界面,直接输入htop命令打开如下图所示界面:
在这里插入图片描述
在上图中将输出的界面划分成了四个区域,其中: 上左区域:显示了CPU、物理内存和交换分区的信息; 上右区域:显示了任务数量、平均负载和连接运行时间等信息; 进程区域:显示出当前系统中的所有进程;这里同top显示一致
F1:显示帮助信息;
F2:配置界面中的显示信息;
F3 :搜索进程
F4:过滤器
F5:以树形方式显示
F6:排序方式
F7,F8:调整进程nice值
F9:杀死进程
F10:退出htop

lsof命令

命令作用
lsof列出当前系统打开文件
lsof abc.txt显示开启文件abc.txt的进程
lsof -c abc显示出以字母 abc 开头进程现在打开的文件
lsof -p1234 列出进程号为1234的进程所打开的文件
lsof -g gname/gid显示归属gname或gid的进程情况
lsof -u uname/uid显示归属uname或uid的进程情况
lsof +d /usr/local/显示目录下被进程开启的文件
lsof +D /usr/local/同上,但是会搜索目录下的目录,时间较长
lsof -d 4显示使用fd为4的进程
lsof -i用以显示符合条件的进程情况

进程前后台与状态

前台进程和后台进程
前台进程:在 shell 提示处理打入命令后,创建一个子进程,运行命令, Shell 等待命令退出,然后返回到对用户给出提示符。这条命令与 Shell 异步运行,即在前台运行,用户在它完成之前不能执行别一个命令 。
后台进程:在 Shell 提示处打入命令,若后随一个 &, Shell 创建子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与 Shell 同步运行,即在后台运行。“后台进程必须是非交互式的” 。
在这里插入图片描述

进程状态在多任务处理操作系统中,每个CPU(或核心)在一个时间点上只能处理一个进程。在进程运行时,它对CPU时间和资源分配的要求会不断变化,从而为进程分配一个状态,它随着环境要求而改变。进程优先级
Linux 进程调度及多任务:每个CPU(或CPU核心)在一个时间点上只能处理一个进程,通过时间片技术,Linux实际能够运行的进程(和线程数)可以超出实际可用的CPU及核心数量。Linux内核进程调度程序将多个进程在CPU核心上快速切换,从而给用户多个进程在同时运行的印象。相对优先级 nice:由于不是每个进程都与其他进程同样重要,可告知进程调度程序为不同的进程使用不同的调度策略。常规系统上运行的大多数进程所使用的调度策略为SCHED_OTHER (也称为SCHED_NORMAL),但还有其它一些调度策略用于不同的目的。SCHED_OTHER 调度策略运行的进程的相对优先级称为进程的 nice 值,可以有40种不同级别的nice值。
nice 值越高: 表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低: 表示优先级越高,例如-20,该进程更不倾向于让出CPU。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值