Linux中的进程管理

一、进程定义

1.进程的定义

  • 程序是静态的代码文件
  • 进程是程序运行时的形态
  • 进程是程序的一个副本
  • 进程是有生命周期的(准备期,运行期,终止期)

 2.进程&线程

  • 进程是资源调用的最小单位
  • 线程是进程的最小单位
  • 程序执行流是从上倒下贯穿运行的
  • 当进程是多任务,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程,线程资源是共享的

3.进程状态 

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

二、进程查看命令

1.图形进程查看工具

gnome-system-monitor 			##图形进程查看工具

2.ps命令

参数描述
a与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)
x与终端无关相关的进程
u用户信息归类的查看方式
f进程层级关系
o显示指定参数
pid,comm,nice,pri,pcpu,status,user,group
-e显示所有进程
-f显示信息的完整格式
-H显示进程的层级结构
-o显示指定参数
--sort显示排序

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   进程名称

3.pgrep进程过滤

参数描述
-u(uid)显示指定用户进程
-U(user)显示指定用户进程
-t(tty)显示指定终端进程
-l显示进程名称
-a显示进程的完整名称
-P下时进程的子进程

4.查看pid

pidof vim         ##查看vim的pid

5.top动态进程查看

##top中的内容显示信息

#09:48:51    系统时间
#up 18:54    运行时长
#2 users     系统中有两个用户登陆
#load average:  0.75, 0.53, 0.41
         1min 5min 15min
#Tasks:
#331 total    任务总量
#3 running    正在运行
#329 sleeping  休眠任务数量
#0 stopped    被暂停数量
#0 zombie    僵死任务数量

#%Cpu(s)
#1.5 us     用户空间
#1.9 sy     内核空间
#0.0 ni     nice值调整时间
#58.9 id     空闲时间
#0.0 wa     等待io时间
#2.1 hi     处理硬件中断时间
#0.2 si     处理软件中断时间
#0.0 st     被偷走的时间(vm使用时间)

#MiB Mem :
#7664.6 total   总量
#5383.9 free   空闲
#1312.1 used   占用
#968.8 buff/cache 缓存

#MiB Swap:   交换分区用量

##top命令的参数

参数描述
-d指定刷新频率
-b以批次方式显示
-n

指定显示的批次数量

##top内部指令

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

列名和含义:
#PID      进程id
#USER    进程所有者的用户名
#PR      优先级
#NI       nice值:负值表示高优先级,正值表示低优先级
#VIRT      进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
#RES       进程使用的、未被换出的物理内存大小,单位kb。   
#SHR       共享内存大小,单位kb
#S       进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停
          止,Z=僵尸进程)
#%CPU      上次更新到现在的CPU时间占用百分比
#%MEM     进程使用的物理内存百分比
#TIME+      进程使用的CPU时间总计,单位1/100秒
#COMMAND  命令名/命令行

 三、进程优先级

系统是多任务多用户的操作模式,任务的重要性是有区分的,任务的重要性通过优先级来确定。

renice -n -5 43331 				##更改优先级
nice -n -5 cat 					##指定优先级打开进程

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

状态符号和含义

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

四、进程前后台调用

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

 

五、进程信息号

1.进程信号

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

2.进程信号控制工具

kill+进程信号+pid
killall+进程信号+进程名字
pkill+进程信号+进程条件

 

六、systemd守护进程

守护进程:替内核分担程序控管的程序,通常pid为1
systemd -----> systemctl

systemctl 管理系统服务
服务指在系统中开启的共享系统资源到网络中的程序

systemctl命令的用法

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

##系统运行模式 0-6
#0 POWEROFF
#1 single
#2 noG+NETWORK
#3
#4
#5 G+NETWORK
#6 REBOOT

七、系统中的登录审计 

命令含义
w显示正在登陆系统的账号
-i 显示登陆来源
/var/run/utmp
last登陆成功现在已经退出的
/var/log/wtmp
lastb试图登陆但未成功
/var/log/btmp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值