linux~系统中的进程及服务的管理
1:什么是进程?
进程是程序执行的实例,是有限状态机的一次迁移过程。进程和程序的区别:动态与静止;多对一。
2:如何查看进程?
A:图形方式:
command:gnome-system-monitor;
B:进程的查看命令:
1:ps -a ####查看在环境中的所有进程,不包括环境本身的进程
:
2:ps -u ####查看进程用户信息
3:ps f ####查看进程的父子关系
4:ps x ####查看系统中所有运行包含tty输出设备的信息
5:ps e ####查看进程的详细信息
6:ps a ####查看当前环境中运行的进程,包括环境信息
常用ps常用组合
1:ps aux ###查看系统中所有进程并显示进程用户:
2:ps ef ####查看进程详细信息并显示进程的父子关系
3:ps ax ####查看当前系统中的所有进程
4:pstree ###查看当前系统的进程树
显示进程的指定信息
ps -o comm ####查看进程名称
ps -o user ###进程所属用户
ps -o group ####进程所属用户组
ps -o %cpu ###cpu占有率
ps -o %mem ###内存使用率
ps -o pid ####进程id
ps -o nice ####进程优先级
按照cpu占用率进行排序:
ps ax --sort=+%cpu|-%cpu
按照内存占用率进行排序:
ps ax --sort=+%mem|-%mem
注:–sort=+%cpu #### cup占有率数值从小到大排序显示;–sort=-%cpu ####cup占有率数值从大到小排序显示。
S ####进程状态
l #### 内存中有锁定空间
N ####优先级低
< ####优先级高
‘+’ ####前台运行
s ####顶级进程
进程优先级
进程优先级范围
-20~19 -20优先级最高依次递减19优先级最低,优先级0表示进程正常
优先级查看
ps ax -o pid,nice,comm ##查看系统环境包括环境本身输出设备的运行进程的优先级
ps -o user,pid,command,nice ###查看用户运行程序的优先级
指定某个进程的优先级
nice -n 优先级 进程id
nice -n -1 vim ####开启vim程序并指定vim程序的优先级为-1
更改进程的优先级
renice -n 优先级 进程id
renice -n -5 1806 ###更改id1806进程的优先级为-5
环境中进程的前台后台调用
jobs ###查看被打入环境后台运行的程序
ctrl+z 把占用终端的进程打回后台
fg 进程id 把后台进程调回前台
bg 进程id 把后台暂停的进程运行
命令 & 让命令直接在后台运行
进程的动态监控
command:top
1.##显示cpu每个核的负载
s ##调整刷新频率
c ##CPU负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
控制服务:
1.什么是服务?
Linux中的服务是一类常驻在内存中的进程,这类进程启动后就在后台当中一直持续不断的运行,因为这类进程通常是负责一些系统提供的功能来服务用户的各项任务,所以这类进程被称为服务,比如crond、atd、syslog、Apache都是属于服务,服务叫做daemon进程,从它的英文含义上也可以看出这类进程的特点
2:用什么控制服务?
可以系统初始化进程对服务进行相应的控制。
3:如何查看当前系统初始化进程是什么?
command:systemd ##系统初始化进程,系统开始的第一个进程,pid为1。
command:pstree ##显示系统中的进程树
4:进程控制命令:
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 list-units ##列出已经开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态 disable,enable,static
systemctl list-dependencies ##列出服务的倚赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动级别为图形模式