Linux的进程和服务

本文深入讲解Linux进程的各个方面,包括内存占用、系统环境、进程切换、父进程与子进程的关系、进程状态及查看方法。介绍了作业job的管理,如查看、后台运行、暂停与恢复,以及nohup命令。探讨了信号的定义、来源、分类和使用,以及如何通过kill命令发送信号。详细阐述了实时监控进程的top工具。最后,重点讨论了守护进程systemd,包括其作为顶级守护进程的角色,以及如何通过systemctl管理服务和单元。
摘要由CSDN通过智能技术生成

目录

一、进程占用的内存资源

二、进程的系统环境

三、进程一直在切换

四、父进程和子进程

五、进程状态

六、查看进程

1.ps -ef 列出所有进程

2.ps -lax 列出所有进程

3.ps aux列出所有进程

4.树形列出所有进程

七、作业job(又叫任务task)(用来查看管理进程)

1.查看作业、作业的进程

2.后台(守护进程方式)运行作业

3.暂停、恢复作业

4.nohup设置作业无法中断

八、信号(用来控制操作进程)

1.定义

2.来源

3.分类

4.常见的信号

5.如何使用信号,来操作进程?

九、实时监控进程

十、守护进程

(1)顶级守护进程systemd

(2)systemd管理服务

1.systemd管理的资源对象以“单元unit”为单位,“单元”分为3类

2.systemd通过systemctl命令管理“单元”

3.systemctl管理服务

查看服务

查看服务依赖

验证服务

操作服务

系统服务文件存放位置

4.服务与进程


一、进程占用的内存资源

1.分配的内存、地址、空间;

2.安全属性,如进程的权限信息;

3.进程的状态、子线程和子线程的状态;

二、进程的系统环境

本地局部变量;

调度上下文;

分配系统资源,如网络端口

三、进程一直在切换

1.进程之间一直在切换(以时间片为单位),切换速度很快;

2.调度上下文:这个进程,最近一次切换前记录的状态

四、父进程和子进程

1.最顶级的父进程是systemd,类似于文件系统的"根目录/";

2.父进程通过fork方式复制自己的地址空间来创建子进程;

3.子进程有2个属性,pid是自己的唯一标识,ppid是父进程的pid;

4.父进程创建、回收子进程的过程

fork方式创建子进程后,父进程进入等待状态;

子进程执行;

子进程结束,释放相关的环境、资源,并向父进程发送回收信号。父进程调用wait()、waitpid()回收子进程环境、资源;

僵尸进程:是子进程结束这一步出现问题造成的。子进程其他的环境、资源都释放了除了pid,发送信号后pid就没被父进程回收。结果我们ps查看进程时,显示有这个进程号但没实际进程,就像僵尸一样;


孤儿进程:程序执行一般是子进程先结束然后父进程才结束。孤儿进程是指父进程先结束了,子进程还没结束,然后子进程自动移交给systemd统一管理了,此时的子进程就叫孤儿进程

五、进程状态

runnable:等待状态,即处于等待cpu调用的状态(电脑卡、负载高,就是因为CPU一直不调用,一直处于runnable状态,所以就表现为卡起了)

running:分2种状态,内核级别(要和硬件打交道:进程先调用内核接口,然后内核控制硬件)、用户级别

supend、resume:暂停、恢复

sleeping:等待用户输入、或等待数据返回的状态

exit:退出状态

zombie:僵尸状态

六、查看进程

1.ps -ef 列出所有进程

uid:用户名

pid:进程pid(1是systemd)

ppid:父进程(0是系统内核进程)

stime:进程从什么时候开始运行的

tty:哪个控制台创建的进程。?表示开机时就创建的进程

cmd:[]中括号引起来的是 系统内核进程

2.ps -lax 列出所有进程

pri:优先级

NI:nice值。值越大,优先级越高

VSZ:进程运行时申请的内存大小

RSS:实际运行的内存大小

STAT:进程当前状态(S—睡眠、Ss—进程为父进程且处于睡眠状态、SN—进程优先级很低且处于睡眠状态)/*第一个字符代表状态,后面为状态补充说明,N表示进程优先级很低,s表示进程为父进程,+表示为前台进程而非守护进程、还有很多状态,不知道含义,可以man ps,然后筛选出STAT去看*/

3.ps aux列出所有进程

TIME:进程总共占用cpu执行了多长时间(单位秒,0表示不足1秒,或者从创建后一直在等待没被调用过)

4.树形列出所有进程

ps -ef 、ps -wxf (树形显示父子进程,和他们的进程信息)、pstree (树形结构显示所有族谱进程)

pstree 【选项】【pid/user】


-c :线程也打印出来

  • pid:只显示此pid的进程
  • user:只显示此user的进程

七、作业job(又叫任务task)(用来查看管理进程)

1.查看作业、作业的进程

jobs    -- 列出当前shell终端运行的作业(即程序或命令)

+代表最近一个运行的命令

-代表最近一个的运行的命令的上一个命令

显示当前终端所有作业的进程信息:ps j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值