进程管理
进程定义
进程就是cpu未完成的工作ps
a ##关于当前环境的所有进程
-a ##显示shell前台运行命令的进程,但不保函shell本身
x| -A ##所有进程
f ##显示进程从属关系
e ##显示进程调用环境工具的详细信息
l ##长列表显示进程的详细信息
u ##显示进程的用户信息
[[email protected] Desktop]# ps a 关于当前环境(shell)的所有进程[[email protected] Desktop]# ps -a 显示shell前台运行命令但不包含shell本身
# PID TTY TIME CMD
# 32141 pts/1 00:00:00 ps
[[email protected] Desktop]# ps e 显示进程调用环境的详细信息(运行环境)
# PID TTY STAT TIME COMMAND# 594 tty1 Ss+ 0:04 /usr/bin/Xorg :0 -background none -verbose -auth /run/gdm/a
[[email protected] Desktop]# ps f 显示进程从属关系
# 594 tty1 Ss+ 0:04 /usr/bin/Xorg :0 -background none -verbose -auth /run/gdm/a
[[email protected] Desktop]# ps l 长列表显示进程的详细信息
#F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND# 4 0 594 583 20 0 179880 28652 poll_s Ss+ tty1 0:04 /usr/bin/Xorg :0
[[email protected] Desktop]# ps u 显示进程用户信息
# USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND# root 594 0.0 2.9 179880 28652 tty1 Ss+ Apr04 0:04 /usr/bin/Xorg :0 -bac
# [[email protected] Desktop]# ps x | head -n 2 (所有进程)
# PID TTY STAT TIME COMMAND
# 1 ? Ss 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
# [[email protected] Desktop]# ps -A | head -n 2 (所有进程)
# PID TTY TIME CMD
# 1 ? 00:00:01 systemd
ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat ##指定显示进程的某些信息
%cpu ##显示进程cpu负载
%mem ##显示进程内存负载
user ##进程用户
group ##进程组
comm ##进程名称
nice ##进程优先级
pid ##进程的id
stat ##进程状态(stat中显示的信息
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
ps ax -o %cpu,comm --sort<+|-%cpu > <+|-%mem> ##按照进程信息排序
+ ##正序
- ##倒序
%cpu ##cpu负载排序
%mem ##内存负载
显示所有进程中cpu前五进程的pid
进程优先级
1.进程的优先级范围
-20~192.优先级查看
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[[email protected] ~]# ps a -o pid,nice,comm 查看当前环境进程的pid,优先级,内存负载
PID NI COMMAND
614 0 Xorg
1128 0 agetty
1625 0 bash
1785 0 vim
1806 -5 vim
1824 -5 vim
1835 0 ps
环境中进程的前后台调用
jobs ##查看被打入环境后台的进程ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
进程信号
1.常用信号等级1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
用户登陆审记
1w ##查看使用系统的当前用户有那些
w -f ##-f查看使用地点
2
last ##查看用户登陆成功历史
3.
lastb ##查看用户登陆未成功历史
top命令
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
vga=ask
3.服务状态
systemctl status 服务名称
loaded ##系统服务已经初始化完成,加载过配置
active(running) ##正有一个或多个程序正在系统中执行,
# vsftpd 就是這種模式
atcive(exited) ##僅執行一次就正常結束的服務,
atcive(waiting) ##正在執行當中,
# 不過還再等待其他的事件才能繼續處理
inactive ##服务关闭
enbaled ##服务开机启动
disabled ##服务开机不自启
static ##服务开机启动项不可被管理
failed ##系统配置