本篇文章我们将要讲Linux中关于进程管理的一些知识,当然,我们依然需要先理解进程,还有线程这两个基本的概念,在理解了概念之后要学习的就是进程管理中的一些技巧了,让我们一起来学习今天的内容吧。
进程:在系统中,程序是静态的代码文件,进程是指程序运行时的形态,是程序的一个副本。它是有生命周期的(准备期,运行期,终止期)。 线程:进程是资源调用的最小单位,线程是进程的最小单位。 程序执行流是从上倒下贯穿运行的。当进程是多任务物,cpu 是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程。线程资源是共享的
执行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+运行在前台
具体操作如下表所示:
进程信息号控制工具:
kill进程信号+pidkillall进程信号+进程名字pkill进程信号+进程条件用户可以操作的进程信号及代表含义如下表所示:
1重新家在系统配置文件(source)2清空内存中的进程数据3清空内存中的鼠标(ctrl+)9强行结束进程(不能被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程(不会被阻塞)20暂停进程(会被阻塞的)具体操作如下图:
定义:守护进程是指替内核分担程序控管的程序,通常 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具体操作如下图:
我们第一步要做的还是概念的理解,然后通过具体的实验来体会其中的运作过程,关于进程管理还有第七部分没有讲,具体请参考下一篇文章。