LINUX中的进程管理

  • Post author:
  • Post category:linux




1.进程定义

进程的定义: 程序是静态的代码文件

进程是指程序运行时的形态

进程是程序的一个副本

进程是有生命周期的 (准备期,运行期,终止期)



2.进程&线程

进程是资源调用的最小单位

线程是进程的最小单位

程序执行流是从上往下贯穿运行的

当进程时多任务物,cpu是核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程

线程是资源共享的

进程状态

#R(TAKS_RUNNING) ##可执行态(running,read)

#S (TASK_INTRRUPTABLE) ##可唤醒休眠

#D (TASK_UNINTRRUPTABLE) ##不可唤醒休眠

#T (TASK_STOP) ##暂停状态

#Z (EXIT_ZOMBIE) ##僵死态



图形方式查看进程

`gnome-system-monitor  主机上打开的任务管理面板

在这里插入图片描述

`pstree     用树状图显示当前所有进程`

在这里插入图片描述



ps(文本查看)

ps命令的三种执行风格 unix bsd GNU



bsd风格(不带-)

ps a   #与终端相关的进程
ps x   #与终端无关的进程
ps u   #用户信息归类的查看方式
ps f   #进程层级关系
ps o   #显示指定参数   ps o pid,comm,nice,pid

ps ax | less


ps ax 显示信息如下:

#PID 进程id

#TTY 进程用到终端

#STAT 进程状态

#TIME 进程占用cpu时长

#COMMAND 进程名称



ps aux 显示信息如下:

#USER 进程所有人

#PID 进程id

#%CPU 进程使用cpu的用量

#%MEM 进程所用到的内存用量

#VSZ 进程使用的虚拟内存的大小

#RSS 进程常驻内存中的数据大小

#TTY 进程用到的终端

#STAT 进程状态

#START 进程运行时长

#TIME 进程占用cpu时长

#COMMAND 进程名称

ps axo pid,%cpu,%mem,%comm,%time,%group >>>>>>>>>



unix风格(带-)

ps -e  #显示所有进程
ps -f  #显示信息的完整格式
ps -H  #显示进程的层级结构
ps -o #显示指定参数

--sort=
ps -eo %cpu --sort=%cpu排序
ps -eo %cpu --sort=-%cpu倒序



“pgrep” #进程过滤

     #-u uid        显示指定用户进程
     #-U user       显示指定用户进程
     #-t tty        显示指定终端进程
     #-l            显示进程名称
     #-a            显示进程的完整名称
     #-P            显示进程的子进程



pidof (查看进程pid)

pidof vim 
pidof bash
pidof ps



top (动态进程查看)

top 外部参数

在这里插入图片描述
top内部参数

在这里插入图片描述

top      命令界面如下:

在这里插入图片描述



3.进程优先级

系统时多任务多用户的操作模式

任务的重要性是有区分的

“优先级”

范围:0——139

内核自控优先级范围:0——99

用户可控优先级范围:100——139

 nice值范围:  -20——19
 renice -n -5 id      更改优先级
 nice -n -5 cat &     指定优先级并打开进程————————cat & 表示直接在后台运行



查看进程指定参数

ps -o pid/nice/stat/comm

以下是查看nice时显示的其他字符作代表的含义

 <     表示优先级高
 s     顶级进程
 S     sleeping
 T     stop
 N     优先级低
 R     running
 +     在前台运行



du 命令的用法

du命令用于查看文件、目录在磁盘中占用空间的大小;



4.进程前后台的调用

命令参著及作用:

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



5.进程信息号

man 7 signal  man命令查看进程信号

在这里插入图片描述

在这里插入图片描述

进程信号控制指令:

kill        进程信号     pid

killall    进程信号     进程名称            ##同样名称的所有进程都执行

pkill      进程信号     进程条件



6.systemd守护进程

systemctl 命令:

systemctl list-unit-files                查看服务开机运行情况
systemctl list-units                     查看服务当前运行情况
systemctl list-dependencies service      查看服务依赖性
systemctl status service                 查看服务状态
systemctl start service                  开启服务
systemctl stop service                   关闭服务
systemctl reload service                 重新加载服务配置
systemctl restart service                重新启动服务
systemctl enable service                 设定服务开机启动
systemctl enable --now service           设定服务开机启动并开启服务
systemctl disable service                设定服务开机关闭
systemctl set-default multi-user.target  设定系统运行级别为无图形网络模式
systemctl set-default graphical.target   设定系统运行级别为图形网络模式  

例如 查看服务开机启动运行情况:

在这里插入图片描述



7.系统中登录审计

登陆审计命令:

w                        显示正在登陆系统的账号

w -i                     显示登录来源

last                     登陆成功现在已经退出的

lastb                   试图登陆但未成功

在这里插入图片描述



版权声明:本文为qq_60200126原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。