进程是程序的基本执行实体,本篇文章具体讲述了对文件的管理。
1.进程查看
进程的查看方式有两种,一种是图形界面的查看,一种是命令方式的查看。图形界面的查看方式如下图:
除了图形界面查看,还可以使用ps命令进行查看,查看方式如下:
[root@localhost ~]# ps -A #所有进程
[root@localhost ~]# ps -a #当前运行环境下的所有进程,不包含运行环境本身
[root@localhost ~]# ps -u #显示用户信息
[root@localhost ~]# ps a #当前运行环境下的所有进程,包含运行环境本身的信息
[root@localhost ~]# ps x #列出系统中所有运行包含tty输出设备
[root@localhost ~]# ps f #列出父子关系
[root@localhost ~]# ps e #显示进程的详细信息
[root@localhost ~]# pstree #显示当前系统的进程树
ps常用组合:
ps aux #显示系统中所有进程并显示进程用户
ps ef #显示进程详细信息并显示父子关系
ps ax #显示当前系统的所有进程
除了以上查看方式,还可以使用-o参数,指定显示信息,如下:
ps -o(参数,显示进程信息)
comm #进程名
user #进程所有人
group #进程所有组
%cpu #进程cpu使用率
%mem #内存使用率
pid #进程id
nice #优先级
有时可能需要通过cpu的占用率和内存的使用率进行排序,此时就可以使用以下方式排序:
ps ax --sort=+%cpu(正须)|-%cpu(倒叙)
+%mem |-%mem
其中stat中的信息表示如下:
S #进程状态
l #内存中有锁定空间(firefox)
N #优先级低
< #优先级高
+ #前台运行
s #顶级进程
2.进程优先级的查看及修改
1).进程优先级范围-20~19,负数优先级高。
2).优先级查看,其中nice表示优先级。
ps ax -o pid,nice,comm
3).指定某个优先级开启进程
nice -n 优先级数字 进程名称
4).改变优先级数字
renice -n 优先级数字 进程pid
3.环境中进程的前后台调用
comm & #让命令直接在后台运行
jobs #查看被打入后台的进程
crtl+z #将进程打入后台
fg jobsnum #将打入后台的进程调回前台,默认为带+号的进程先被调回
bg jobsnum #让后台暂停的进程运行
4.进程信号
1).常用信号等级(信号一共有30种)
1 #进程重新加载配置
2 #删除进程内存中的数据
3 #删除鼠标在内存中的数据(crtl+/)
9 #强行关闭进程
15 #正常关闭进程
18 #运行暂停的进程
19 #暂停某个进程
20 #把进程打入后台
man 7 signal #查看信号详细信息
2).使用方式
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
注意的是,信号15表示的是正常关闭进程,在一些情况下是关闭不了的,信号9是强行关闭进程,如拔掉电源,如下图:
5.进程的动态监控
top命令可以动态的监控进程,使用方式如下:
top
1 #显示cpu每个核的负载,直接按“1”键。
s #调整刷新频率 s->刷新频率,默认的刷新频率为3秒,如果要改为1秒的话,先按“s”键,然后按“1”键。
c #直接按“c”键,可以根据cpu负载进行排序
m #直接按“m”键,根据内存使用量排序
h #查看帮助
u #查看指定用户进程,先按“u”键,再输入要查询的用户
k #对指定进程发起信号k->id回车->信号
q #退出
6.进程控制命令
以下都以sshd为例:
[root@localhost ~]# systemctl status sshd #查看sshd服务状态
[root@localhost ~]# systemctl stop sshd #关闭sshd服务
[root@localhost ~]# systemctl start sshd #开启sshd服务
[root@localhost ~]# systemctl restart sshd #重启sshd服务
[root@localhost ~]# systemctl reload sshd #重新加载sshd服务,重新加载其进程不关闭
[root@localhost ~]# systemctl enable sshd #开机启动sshd服务
[root@localhost ~]# systemctl disable sshd #开机不启动sshd服务
#列出已经开启服务当前状态
[root@localhost ~]# systemctl list-units
#列出所有服务开机启动的状态 static(不可控)mark(冻结)
[root@localhost ~]# systemctl list-unit-files
#查看服务依赖性
[root@localhost ~]# systemctl list-dependencies
#设置开机不启动图形界面,开机后界面如下:
[root@localhost ~]# systemctl set-default multi-user.target
#设置开机启动图形界面
[root@localhost ~]# systemctl set-default graphical.target