Linux的进程管理
进程(process)是执行中的程序,也可以理解为cpu未完成的工作
用户可以使用ps命令来查看自己在shell中执行的进程
显示内容的各字段如下:
PID:进程编号,每个进程都有自己的编号且不会重复,可用PID来指定进程。
TTY: 进程执行时的终端
TIME:进程已经执行的时间
CMD:进程的名称
ps命令可以显示更多的信息,root用户可以监听系统所有的进程,显示进程的完整信息。
ps
- ? a ?##关于当前环境的所有进程
- ? x| -A ?##所有进程
- ? f ?##显示进程从属关系
- ? ? e ?##显示进程调用环境工具的详细信息
- ? l ?##长列表显示进程的详细信息
- ? ? u ?##显示进程的用户信息
- ?-a ?##显示shell前台运行命令的进程,但不保函shell本身
ps aux 显示系统中的所有进程,并显示其完整信息。 部分内容如下:
各字段说明如下:
USER:执行的用户
PID:进程编号
%CPU:CPU时间与实际时间的比率
%MEM:内存使用率
RSS:占用内存大小
TTY:进程执行的终端? ? 表示不占用终端
STAT:进程的状态
START:开始执行的时间
TIME:执行进程经过的时间
COMMAND:命令名称
STAT中显示的信息
S ?##进程状态
l ?##内存中有锁定空间
N ?##优先级低
< ?##优先级高
+ ?##前台运行
s ?##顶级进程
ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat?? ?##指定显示进程的某些信息
%cpu ?##显示进程cpu负载
%mem ?##显示进程内存负载
user ?##进程用户
group ?##进程组
comm ?##进程名称
nice ?##进程优先级
pid ?##进程的id
stat ?##进程状
ps ax -o %cpu,comm --sort=<+|-%cpu > <+|-%mem> ?##按照进程信息排序
+ ?##正序
-
?##倒序
%cpu ?##cpu负载排序
%mem ?##内存负载
按照cpu的负载倒序排序显示进程id的2-6行
1.进程的优先级范围
-20~19
增加数字(大于零)为降低优先权
减小数字(小于零)为提高优先权
2.优先级查看
ps ax
-o pid,nice,comm
3.指定某个优先级开启进程
nice -n 优先级数字 ?进程名称
nice -n -5 vim &
?##开启vim并且指定程序优先级为-5
4.改变进程优先级英语培训费用
reince -n 优先级数字 ?进程pid
renice -n -5 1806 ?##改变1806进程的优先级为-5
comm & ? ? ?##让命令直接在后台运行
jobs ? ? ?##查看被打入环境后台的进程
ctrl+z ? ? ?##把占用终端的进程打入后台
fg jobsnum ? ?##把后台进程调回前台
bg jobsnum ? ?##把后台暂停的进程运行
常用信号等级
1 ? ?##进程重新加载配置
2 ? ?##删除进程在内存中的数据
3 ? ?##删除鼠标在内存中的数据
9 ? ?##强行结束单个进程(不能被阻塞)
15 ? ##正常关闭进程 ? (可能会被阻塞)?
18 ? ##运行暂停的进程
19 ? ##暂停某个进程 ? (不能被阻塞)
20 ? ##把进程打入后台 ?(可以被阻塞)
kill -信号 进程pid? ##对单个进程操作员
killall -信号 ?进程名字 ##对进程进行批量操作
pkill ?-u student -信号? ##对某个用户下的进程进行操作
1
w ?
?##查看使用系统的当前用户有那些
w -f ? ?##-f查看使用地点
2
last ? ?##查看用户登陆成功历史
3.
lastb ?
?##查看用户登陆未成功历史
top:动态监控进程,查看进程信息
s ?: 修改进程刷新间隔时间
m ?: 根据内存占有率进行排序
c ?: 根据 cpu 占有率进行排序
u ?: 后面输入用户名 , 用来查看该用户发起的所有进程
k ?: 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号
q ?: 退出进程查看界面
h ?: 显示 top 命令的帮助
1.systemd
系统初始化程序,系统开始的第一个进程,pid为1
2.systemctl 命令
systemctl list-units ? ? ?##列出当前系统服务的状态
systemctl list-unit-files ? ?##列出服务的开机状态
systemctl status sshd ? ? ?##查看指定服务的状态
systemctl stop sshd ? ? ?##关闭指定服务
systemctl start sshd ? ? ?##开启指定服务
systemctl restart sshd ? ? ?##从新启动服务
systemctl enable sshd ? ? ?##设定指定服务开机开启
systemctl disable sshd ? ? ?##设定指定服务开机关闭
systemctl reload sshd ? ? ?##使指定服务从新加载配置
systemctl list-dependencies sshd ?##查看指定服务的倚赖关系
systemctl mask ?sshd ? ? ?##冻结指定服务
systemctl unmask sshd ? ? ?##启用服务
systemctl set-default multi-user.target ?##开机不开启图形
systemctl set-default graphical.target ?##开机启动图形
setterm ? ? ? ? ?##文本界面设定color
3.服务状态
systemctl ?status ? ?服务名称
各个状态所对应的信息:
loaded ? ? ?
?##系统服务已经初始化完成,加载过配置
active(running) ? ?##正有一个或多个程序正在系统中执行
atcive(exited) ?
?##执行一次就正常结束的服务
atcive(waiting) ?
?##正在执行当中,不过还要等待其他事件执行完毕
inactive ? ? ?##服务关闭
enbaled ? ? ?
?##服务开机启动
disabled ? ? ?##服务开机不自启
static ? ? ?
?##服务开机启动项不可被管理
failed ? ? ? ?##系统配置错误