Linux系统进程及服务的管理

1.什么是进程

  进程就是系统未完成并且正在进行的工作

2.查看进程

1.图形界面查看方式:gnome-system-monitor
2.进程查看命令: ps

 ps        -A     ##所有进程
           -a     ##在当前环境中运行的进程,不包含环境信息
           -u     ##显示进程用户信息    
            a     ##在当前环境中运行的进程    
            x     ##列出系统中所有运行包含tty输出设备    
            e     ##显示进程的详细信息(系统资源的调用)    
            f     ##显示进程的父子关系

3.常用进程命令

ps  ax      ##显示当前系统中的所有进程常配合其他参数使用
ps  aux     ##显示系统中所有进程并显示进程用户
ps  ef      ##显示进程详细信息并显示进程父子关系(有同级存在)
pstree      ##显示当前系统中的进程树

4.显示进程指定信息

ps   -o     xxx	        ##显示进程的指定信息
            comm   	##进程名称
            user        ##进程所有人
            group       ##进程所有组
            %cpu        ##进程cpu使用率
            %mem        ##进程内存(memory)使用率
            pid  	##进程id
   	    nice        ##进程优先级

注意:多个命令中间使用,隔开;不用加空格
在这里插入图片描述
5.进程排序

ps -ax --sort=
                +%cpu|-%cpu       ##(+)cpu使用率按正序排,(-)按倒序排
                +%mem|-%mem       ##(+)内存正序,(-)内存倒序

在这里插入图片描述
6.STAT中显示的信息:
  S    ##进程状态
  l     ##内存中有锁定空间
  N    ##优先级低
  <    ##优先级高
  +    ##前台运行
  s    ##顶级进程
  使用ps a 命令,我们可以看到在当前环境中运行的进程:
在这里插入图片描述
  则进程/bin/bash也就是当前正在运行的shell 的STAT为Ss,这表示此进程的进程状态为顶级进程。
7.进程优先级
1)进程优先级的范围
-20~19 ##数值越小说明优先级越高

2)优先级查看:ps ax -o pid,nice,comm

3)指定某个优先级开启进程

nice -n 优先级数字   进程名称
nice -n 5 vim &                  ##开启vim进程并指定程序优先级为-5

4)改变进程优先级

renice -n 5 优先级数字   pid
renice -n -5 1806                ##改变1806进程的优先级为-5

在这里插入图片描述8.环境值中进程的前后台调用#

jobs           ##查看被打入环境后台的进程
ctrl+z         ##把占用终端的进程打入后台
fg jobnum      ##把后台进程调回前台
bg jobnum      ##让后台暂停的进程运行
comm &         ##让命令直接在后台运行

例如:使用jobs我们可以看见当前有两个进程(firefox&gedit)被打入后台 :
在这里插入图片描述
可以看见,后台中状态为stopped 的进程gedit打开后不能编辑:
在这里插入图片描述
使用fg 将gedit 调回前台,可以看见gedit可以正常使用,并且刚才在键盘输入的内容也在文档中显示出来,这说明刚才输入的内容可以被正常读入到内存中,但由于此进程被打入后台,因此输入的内容被阻塞:
在这里插入图片描述
此时可以正常进行文件编辑,并且进程状态由stopped变为running:
在这里插入图片描述
7.进程信号
1)常用信号等级

1             ##进程重新加载配置(重新读取相应配置文件)
2             ##删除进程在内存中的数据
3             ##删除鼠标在内存中的数据
9             ##强行结束单个进程(不能被阻塞)
15            ##正常关闭进程 (可能被阻塞)
18            ##运行暂停的进程
19    	      ##暂停某个进程
20            ##把进程打入后台
man 7 signal  ##详细看信号详细信息

2)进程处理命令:

kill   	   -信号num  进程id
killall    -信号num  进程名字
pkill -u   stuent  -信号num   ##批量处理student用户的命令
##kill  命令用来处理进程
##pkill 命令用来批量处理进程

在这里插入图片描述
在这里插入图片描述
8.进程的动态监控

 命令:top    
    		1   ##显示cpu每个核的负载
    		s   ##调整刷新频率
    		c   ##cpu负载排序
    		m   ##内存使用量排序
    		h   ##查看帮助
    		u   ##查看指定用户进程
    		k   ##对指定进程发起信号
    		q   ##退出

执行top命令后,按<s>键,输入1,可以将刷新频率由3秒改为1秒:
在这里插入图片描述
使用<u>指定查看student用户的进程:
在这里插入图片描述
在这里插入图片描述9.控制服务
1.用什么控制服务
  系统初始化进程可以对服务进行相应控制,systemd提供systemctl命令
2.进程控制命令

systemctl         ##服务控制命令
     systemctl  status sshd   ##查看服务状态,inactive(不可用),active(可用),static(依赖)   
     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-dependenceies   ##列出服务的依赖    
     systemctl  set-default multi-user.target   ##设定系统启动级别为多用户模式
     systemble  set-default graphical.target    ##设定系统启动级别为图形模式

在这里插入图片描述此时,在主机上使用ssh命令就可以对虚拟机的服务进行相应控制:
在这里插入图片描述
在这里插入图片描述
变为disable之后,我们重启虚拟机,可以看到sshd服务状态为dead:
在这里插入图片描述
我们也可以使用其他命令,例如:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41781946/article/details/82994009