Linux中的进程管理

it2025-03-23  8

文章目录

前言一、进程和线程1、定义2、进程状态 二、进程查看命令三、进程优先级四、进程前后台调用五、进程信息号六、systemd守护进程总结


前言

本篇文章我们将要讲Linux中关于进程管理的一些知识,当然,我们依然需要先理解进程,还有线程这两个基本的概念,在理解了概念之后要学习的就是进程管理中的一些技巧了,让我们一起来学习今天的内容吧。

一、进程和线程

1、定义

进程:在系统中,程序是静态的代码文件,进程是指程序运行时的形态,是程序的一个副本。它是有生命周期的(准备期,运行期,终止期)。 线程:进程是资源调用的最小单位,线程是进程的最小单位。 程序执行流是从上倒下贯穿运行的。当进程是多任务物,cpu 是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程。线程资源是共享的

2、进程状态

R(TAKS_RUNNING)可执行态 (running,ready)S(TASK_INTRRUPTABLE)可唤醒休眠D(TASK_UNINTRRUPTABLE)不可唤醒休眠T(TASK_STOP)暂停状态Z(EXIT_ZOMBIE)僵死态

二、进程查看命令

gnome-system-monitor图形进程查看工具ps进程查看ps 命令的三种执行风格unix bsd GNUa与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)x与终端无关相关的进程u用户信息归类的查看方式f进程层级关系o显示指定参数(pid comm nice pri pcpu ppid stat,user,group)-e显示所有进程-f显示信息的完整格式-H显示进程的层级结构-o显示指定参数- -sort排序

执行ps ax后显示信息如下表:

USER进程所有人PID进程id%CPU进程的cpu的用量%MEM进程的内存用量VSZ进程使用的虚拟内存大小RSS进程常驻内存中的数据大小TTY进程用到的终端STAT进程状态START进程运行时长TIME进程占用 cpu 时长COMMAND进程名称––pgrep进程过滤-u uid显示指定用户进程-U user显示指定用户进程-t tty显示指定终端进程-l显示进程名称-a显示进程的完整名称-p显示进程的子进程pidof查看进程的pidtop动态进程查看

top命令的参数如下表:

-d指定刷新频率-b以批次方式显示-n指定显示的批次数量

top内部指令如下表:

Pcpu排序M内存排序T累计占用cpu时间排序l关闭/开启 uptime 信息t关闭/开启 cpu&task––s指定刷新频率k操作进程u查看指定用户进程

上述指令具体操作请看下图:

三、进程优先级

范围: 0–139 内核自控优先级范围:0-99 用户可控优先级:100-139

nice-20–19 (值越小优先级越高)pri0–39(ps当中现实的;值越大优先级越高)属于unix中的表示方式priority0–139(值越小优先级越高)renice -n -5 43331更改优先级nice -n -5 vim &指定优先级打开进程Ssleeping<优先级高s顶级进程TstopN优先级低Rrunning+运行在前台

四、进程前后台调用

ctrl+z把占用 shell 的进程打入后台挂起bg把后台挂起的进程运行起来fg把后台进程调回前台&运行进程在后台jobs查看当前 shell 中在后台的所有工作

具体操作如下表所示:

五、进程信息号

进程信息号控制工具:

kill进程信号+pidkillall进程信号+进程名字pkill进程信号+进程条件

用户可以操作的进程信号及代表含义如下表所示:

1重新家在系统配置文件(source)2清空内存中的进程数据3清空内存中的鼠标(ctrl+)9强行结束进程(不能被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程(不会被阻塞)20暂停进程(会被阻塞的)

具体操作如下图:

六、systemd守护进程

定义:守护进程是指替内核分担程序控管的程序,通常 pid 为 1。systemctl 管理系统服务,服务指在系统中开启的共享系统资源到网络中的程序。 systemctl 命令的用法,如下表所示:

start开启stop关闭status查看状态reload重新加载enable设定服务开机启动enable --now设定服务开机启动并当前开启服务disable设定服务开启不其动list-units查看系统所有服务当前状态list-unit-files查看服务开机状态list-dependencies列出服务依赖性mask冻结服务unmask解锁set-default设定系统运行模式multi-user.target无图形模型graphical.target有图形的网络模式get-default查看系统运行模式0POWEROFF1single2-4noG+NETWORK5G+NETWORK6REBOOT

具体操作如下图:

总结

我们第一步要做的还是概念的理解,然后通过具体的实验来体会其中的运作过程,关于进程管理还有第七部分没有讲,具体请参考下一篇文章。

最新回复(0)