本文共 3721 字,大约阅读时间需要 12 分钟。
一.进程的定义
程序(program)放置在储存媒体中(如键盘,光盘,软盘,磁带等),为实体文件的形态存在。
进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存的单元一个识别码(PID),可以说,进程就是一个正在运行中的程序,即是系统未完成并且正在进行的工作。进程主要分为两种,一种是和当前环境有关,一种和当前环境无关。二.查看进程
(1)利用图形方式查看
命令:gnome-system-monitor
输入命令会则会出现进程的图形界面,结果如下:
(2)进程查看命令
命令含义
ps a | 在shell中运行的所有进程,包含环境自身信息 |
---|---|
ps -A | 系统中所有的进程,包括环境 |
ps -a | 在shell中运行的所有进程,不包括shell自身信息 |
ps -d | 显示系统中所有进程,除了shell信息 |
ps -u | 显示进程的用户,pid,cpu的使用率等 |
ps e | 显示进程的扩展性,系统的详细信息,调用的系统资源 |
ps x | 显示所有有输入设备终端的,tty是能显示出字符设备的 |
ps f | 显示进程的从属关系(不一定父进程结束,子进程也结束)。孤儿进程受系统初始化控制 (父进程被强行关闭) |
ps -A
系统中所有的进程,包括环境
在shell中运行的所有进程,不包括shell自身信息
在shell中运行的所有进程,包含环境自身信息
显示进程的用户,pid,cpu的使用率等
ps x
显示所有有输入设备终端的,tty是能显示出字符设备的
显示进程的从属关系(不一定父进程结束,子进程也结束)
ps e
显示进程的扩展性,系统的详细信息,调用的系统资源
命令含义
ps aux | 显示当前系统中所有进程并显示进程用户 |
---|---|
ps ef | 显示进程详细信息并显示进程父子关系 |
ps ax | 显示当前系统中的所有进程 |
pstree | 显示当前系统的进程树 |
ps aux
显示系统中所有进程并显示进程用户:pstree
显示当前系统的进程树
命令 | 进程的指定信息 |
---|---|
ps -o comm | 显示进程名称 |
ps -o group | 显示进程的组 |
ps -o user | 显示进程的使用者 |
ps -o %cpu | 显示进程的cpu使用率 |
ps -o %mem | 显示进程的内存使用率 |
ps -o pid | 显示进程id |
ps -o nice | 显示进程的优先级(优先级的范围是-29~19,越负优先级越高) |
ps -o stat | 显示进程运行状态 |
ps -o tty | 显示进程输出字符设备的 |
ps -o comm
显示进程名称
ps -o user
显示进程所有人ps -o group
显示进程所有组ps -o %cpu
显示进程cou使用率ps -o %mem
显示进程内存使用率ps -o nice
显示进程优先级ps -o tty
显示进程输出占用字符终端一次性显示所有想看的进程的信息
ps ax --sort=+%cpu/-%cpu 对cpu使用率的进程进行由小到大/由大到小的排序ps ax --sort=+%mem/-%mem 对内存使用率的进程进行由小到大/由大到小的排序
1.对进程中的cpu进行从小到大排序
对进程中的cpu进行从大到小排序
只显示cpu使用率,并从大到小排序
2.对进程中的内存进行从小到大排序
对进程中的内存进行从大到小排序
抓取系统中内存使用量排在前5的pid
(6)stat中显示的信息
符号 | 显示的信息 |
---|---|
S | 进程状态 |
l | 内存中有锁定空间 |
N | 优先级低 |
< | 优先级高 |
+ | 前台运行 |
s | 顶级过程 |
注意:
<表示进程的优先级小于默认,l表示有一片锁定的空间,不能被回收,S表示进程状态,Ss进程状态是顶级进程,S<l表示高优先级内存有锁定空间,R+表示正在运行三.进程优先级
<1>进程的优先级范围:-20~19
<2>优先级查看
ps ax -o pid,nice,comm
格式如下:
nice -n 优先级数字 进程名称
实验如下:
用watch监视:
watch -n 1 ps a -o stat,user,pid,comm,nice
格式如下:
renice -n 优先级数字 进程pid
实验如下:
watch监视:
四.环境中进程的前后台调用
命令 | 含义 |
---|---|
jobs | 查看被打入环境后台的进程 |
ctrl+z | 把占用终端的进程打入后台 |
fg jobsnum | 把后台进程调回前台 |
bg jobsnum | 把后台暂停的进程运行 |
comm & | 让命令直接在后台运行 |
实验如下:
watch监视:ctrl+z将其打入后台,不运行(暂停):
信号是一个动作的标识
(1)常用信号等级等级 | 含义 |
---|---|
1 | 进程重新加载配置 |
2 | 删除进程在内存中的数据 |
3 | 删除鼠标在内存中的数据 |
9 | 强行结束单个进程(不能被阻塞) |
15 | 正常关闭进程(可能会被阻塞) |
18 | 运行暂停的进程 |
19 | 暂停某个进程(不能被阻塞) |
20 | 把进程打入后台(可以被阻塞) |
(2)kill的用法:
kill -信号 进程pid 单个杀死killall -信号 进程名字 批量杀死pkill -u student -信号 指定杀死的用户
实验如下:
kill -信号 进程 pid 1.删除进程在内存中的数据3.结束进程
正常关闭进程(可能会被阻塞)打开一个图形界面gedit
killall -信号 进程名字
实验如下:pkill -u student -信号
实验如下:六.进程的动态监控
top命令
按键 | 含义 |
---|---|
1 | 显示cpu |
s | 调整刷新时间 |
c | CPU负载排序 |
m | 内存使用量排序 |
h | 查看帮助 |
u | 查看指定用户进程 |
k | 对指定进程发起信号 |
q | 退出 |
1.什么是服务
cs模型,c表示client,s表示server 定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ##系统初始化进程pstree ##显示系统中的进程树
4.进程控制命令
ssh(client) ----->sshd(server)命令 | 含义 |
---|---|
systemctl | 服务控制命令 |
systemctl status sshd | 查看服务状态,inactive(不可用),active(可用) |
systemctl start sshd | 开启服务 |
systemctl stop sshd | 关闭服务 |
systemctl restart sshd | 重启服务 |
systemctl reload sshd | 重新加载服务配置 |
systemctl enable sshd | 设定服务开机启动 |
systemctl disable sshd | 设定服务开机不启动 |
systemctl mask sshd | 对服务进行锁定 |
systemctl unmask sshd | 对服务进行解锁 |
systemctl list-units | 列出已经开启服务当前状态 |
systemctl list-unit-files | 列出所有服务开机启动的状态,disable,enable |
systemctl list-dependencies | 列出服务的依赖 |
systemctl set-default multi-user.target | 设定系统启动级别为多用户模式(无图形) |
systemctl set-default graphical.target | 设定系统启动级别为图形模式 |
实验如下:
转载地址:http://evjvb.baihongyu.com/