1.在Linux中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid进程号)
2.每个进程都可能以两种方式存在,前台和后台。前台进程即用户当前屏幕上可进行的操作,后台进程即实际操作,由于屏幕上无法看到进程,通常使用后台方式执行
3.一般系统的服务以后台进程方式存在,且常驻系统中,直到关机才结束
1.显示系统执行的进程
ps命令可用来查看目前系统中哪些正在执行及执行状况
常用选项:
user:进程执行用户
PID:进程号
%CPU:占用CPU百分比
%MEM:占用物理内存百分比
VSZ:占用虚拟内存大小(KB)
RSS:占用物理内存内存大小
TTY:终端
STAT:运行状态
S表示休眠,s表示该进程是会话的先导进程,r表示正在运行,N表示进程拥有比普通优先级更低的优先级,D表示短期等待,Z表示僵死进程,T表示被跟踪或被停止...
START:执行开始时间
TIME:占用CPU时间
COMMAND:执行该进程的指令
演示:以全格式显示当前所有进程,查看sshd的父进程信息
ps -ef以全格式显示当前所有进程(-e显示所有进程,-f全格式)
PPID 父进程ID
2.终止进程
某个进程执行一半需要停止时,或已消耗很大的系统资源,可以考虑停止该进程
基本语法
kill [选项] 进程号(通过进程号杀死进程)
killall 进程名称 (通过进程名杀死进程,也支持通配符)
常用选项:
-9 表示强迫进程立即停止
演示:
1.踢掉某个非法登录用户
2.终止远程登录服务器sshd,在适当时再次重启sshd服务
重启:/bin/systemctl start sshd.service
3.终止多个gedit
4.强制杀掉一个终端
3.查看进程树pstree
基本语法
pstree [选项]
常用选项:
-p 显示进程的PID
-u 显示进程的所属用户
演示:
4.服务(service)管理
服务本质就是进程,运行在后台,通常会监听某个端口,等待其他程序请求,如mysql,ssh,防火墙等,又称守护进程
1.service管理指令
service 服务名 [start | stop | restart | reload | status]
在CentOs7.0后,很多服务不再使用service,而是systemctl
service指令管理的服务在 /etc/init.d 查看
演示:用service指令查看,关闭,启动network
查看服务名:
1.在 /etc/init.d 查看
2.使用setup
2.服务运行级别
Linux系统有7种运行级别:(常用3和5)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护 ,禁止远程登录
运行级别2:多用户状态(无NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),无界面,登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图像GUI模式
运行级别6:系统关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机流程:
开机 --> BIOS --> /boot --> systemd进程1 --> 运行级别 --> 运行级对应服务
3.chkconfig指令
通过chkconfig指令可以给服务的各个运行级别设置自启动/关闭
chkconfig指令管理服务在 /etc/init.d 查看
在CentOs7.0后,很多服务使用systemctl管理
基本语法:
chkconfig --list [| grep xxx]
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off
演示:
4.systemctl管理指令
基本语法
systemctl [start | stop | restart | status] 服务名
注意:这种方式只是临时生效,当重启系统后,回归之前对服务的设置,如希望永久生效,使用 systemctl [enable | disable ] 服务名
systemctl指令管理在 /usr/lib/systemd/system 查看
设置服务自启动:
systemctl list-unit-files [| grep 服务名] (查看服务开机启动状态)
systemctl enable 服务名 (设置服务开机启动)
systemctl disable 服务名 (关闭服务开机启动)
systemctl is-enable 服务名(查询某个服务是否自启动)
演示:查看当前防火墙状态,关闭防火墙和重启防火墙
5.打开或关闭指定端口
防火墙开启,外部请求数据包不能跟服务器监听端口通讯,这时需要打开指定的端口
firewall指令:
firewall-cmd --permanent --add-port=端口号/协议 (打开端口)
firewall-cmd --permanent --remove-port=端口号/协议 (关闭端口)
firewall-cmd --reload (重新载入使之生效)
firewall-cmd --query-port=端口号/协议 (查询端口是否打开)
演示:开放111端口,再关闭111端口
5.动态监控
1.监控进程
top与ps命令很相似,都用来显示正在执行的进程,不同在于top在执行一段时间可以更新正在运行的进程
基本语法
top [选项]
选项说明:
交互操作说明:
演示:
1.监视特定用户,如监视tom用户
top-->u 输入用户名 回车
2.终止指定进程,如结束tom登录
k 输入PID 回车
2.监控网络
基本语法
netstat [选项]
选项说明:
-an 按一定顺序排列输出
-p 显示哪个进程在调用
演示:查看sshd的服务信息