博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux中的进程管理
阅读量:3935 次
发布时间:2019-05-23

本文共 2822 字,大约阅读时间需要 9 分钟。

1、进程定义

【1】什么是进程:

程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期、运行期、终止期)
【2】进程&线程
进程是资源调用的最小单位,线程是进程的最小单位
程序执行流是从上到下贯穿运行
当进程是多人物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
【3】进程状态

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

在这里插入图片描述

2、进程查看命令

【1】gnome-system-monitor: 图形进程查看工具

【2】ps:进程查看
ps命令的三种风格:unix bad GNU
pa a 与终端相关的进程 (当用户登陆系统后产生的进程都是带终端的
ps x 与终端无关的进程
ps u 用户信息归类的查看方式
ps f 进程层级关系
ps o 显示指定参数 pid (comm nice pri pcpu ppid stat,user,group)
ps -e 显示所有进程
ps -f 显示信息的完整格式
ps -H 显示进程大的层级结构
ps -o 显示指定参数

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
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 进程名称

在这里插入图片描述

pgrep 进程过滤

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

在这里插入图片描述

pidof vim 查看vim的pid

在这里插入图片描述

top 动态进程查看

top中的内容显示的信息

07:07:20 系统时间
up 6:43 运行时长
1 user 系统中有一个用户登陆

Tasks:

314 total 任务总量
1 runing 正在运行
313 sieeping 休眠任务数量
0 stopped 被暂停数量
0 zombie 僵死任务数量

%Cpu(s)

7.0 us 用户空间
1.3 sy 内核空间
0.0 ni nice值调整时间
90.6 id 空闲时间
0.0 wa 等待io时间
0.7 hi 处理硬件中断时间
0.3 si 处理软件中断时间
0.0 st 被偷走的时间(vm使用时间)

MiB Mem

1806.1 total 总量
159.5 free 空闲
138.2 used 占用
508.4 buff/cache 缓存

Mib Swap:交换分区总量

top命令的参数

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
top内部指令

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

在这里插入图片描述

在这里插入图片描述

3、进程优先级

系统是多任务多用户的操作模式,任务的重要性是有区分的

如何确定任务的重要性
【1】“优先级”
范围:0-139
内核自控优先级范围:0-99
用户可控优先级:100-139
【2】nice
范围:-20-19

renice -n -5 9880 更改优先级
nice -n -5 & 指定优先级打开进程

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

注意:高级用户可将优先级任意调高或者调低,普通用户止咳将优先级调低,且不可调回

4、进程的前后调用

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

在这里插入图片描述

5、进程信息号

【1】进程信号

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

【2】进程信号控制工具

kill 进程信号 pid

killall 进程信号 进程名字
pkill 进程信号 进程条件
在这里插入图片描述
【3】守护进程
替内核分担程序管控的程序
通常pid 为1
systemd -------- > systemctl
systemctl的作用: 管理系统服务
服务是指在系统中开启的共享系统资源到网络中的程序
cs: client server
systemctl 命令的用法

systemctl start 开启
systemctl stop 关闭
systemctl status 查看状态
systemctl reload 重新加载
systemctl restarrt 重新启动服务
systemctl enable 设定服务开机启动
systemctl enable - - now 设定服务开机启动并当前开启服务
systemctl disable 设定服务开启不启动
systemctl list-units 查看系统所有服务当前状态
systemctl list-unit-files 查看服务开机状态
systemctl list-dependencies 列出服务依赖性
systemctl mask 冻结服务
systemctl unmask 解锁
systemctl set-default 设定系统运行模式 (multi-user.target 无图形网络模式)( graphical.target 有图形的网络模式)
systemctl get-default 查看系统运行模式(系统运行模式0:POWEROFF 1:single 2、3、4:noG+NETWORK 5:G+NETWORK 6:REBOOT)

6、系统中的登陆审计

【1】w

显示正在登陆系统的账号

-i 显示登陆来源
/var/run/utmp

【2】last

登陆成功现在已经退出

/var/log/wtmp/
在这里插入图片描述
【3】lastb

试图登陆但未成功

/var/log/btm
在这里插入图片描述

转载地址:http://xaegn.baihongyu.com/

你可能感兴趣的文章
GPU CUDA and MEX Programming
查看>>
arrayfun用法
查看>>
矩阵积分
查看>>
optimization on macOS
查看>>
Template-Based 3D Model Fitting Using Dual-Domain Relaxation
查看>>
install libfreenect2 on ubuntu 16.04
查看>>
how to use automake to build files
查看>>
using matlab drawing line graph for latex
查看>>
How package finding works
查看>>
build opencv3.3.0 with VTK8.0, CUDA9.0 on ubuntu9.0
查看>>
how to compile kinfu_remake with cuda 9.0 opencv2.4.13.4
查看>>
qtcreator4.4.1中cmake 与cmake3.5.1本身generate出来的setting是有区别的解决方法
查看>>
CMake Useful Variables/Logging Useful Variables
查看>>
ubuntu下解决csdn网页打不开的问题
查看>>
MySQL server has gone away 问题的解决方法
查看>>
MySQL十大优化技巧
查看>>
PHP中文件读写操作
查看>>
php开发常识b_01
查看>>
PHP单例模式
查看>>
PHP项目设计
查看>>