Linux实操篇之进程管理与服务管理

一、进程管理

显示系统中的进程

ps:显示系统中正在执行的进程。
显示的信息:
PID:进程识别号
TTY:终端机号
TIME:此进程所消耗CPU时间
CMD:正在执行的命令或进程名
选项:
-a:显示当前终端的所有进程信息
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
一般使用方式:

  1. ps -aux | more
  2. ps -aux | grep xxx
  3. ps -ef | more
    -ef是以全格式显示当前所有的进程,-e显示所有进程,-f全格式。结果中可以查看PID的父进程PPID,PPID为0表示没有父进程。
终止进程

kill [选项] 进程号
killall 进程名称,通过进程名称杀死进程,支持通配符,这在系统因负载过大而变得很慢时很有用
常用选项:
-9:强迫进程立即停止

示例:
1.踢掉XShell sshd登录的用户
(1)先使用ps -aux | grep sshd 查找到所有包含sshd的进程,在结果中找到对应用户远程登录的进程号PID
(2)kill PID
2.终止远程登录服务sshd,在适当的时候再次重启sshd服务
(1)在进程列表中找到sshd服务对应的进程号PID
(2)kill PID,这时在远端就不能进行登录,但不会踢掉已经登录的用户
(3)重启电脑会自动打开sshd服务,也可以手动打开sshd服务
service sshd status
service sshd stop
service sshd start
3.终止多个gedit编辑器
gedit:图形界面下的文本编辑器
(1)使用多个终端执行多次gedit命令打开多个gedit编辑器
(2)新开一个终端执行killall gedit指令就会杀死所有的gedit编辑器
如果一个父进程开了很多子进程,那么使用这个指令杀死父进程,就一窝端了,会把所有子进程也杀死
4.强制杀掉一个终端
(1)一个终端就是一个bashshell,多开几个终端,使用ps -aux | grep bash查找终端对应的PID
(2)终端是比较重要的进程,不能直接关闭,所以使用-9强制关闭。kill -9 PID

查看进程树

pstree [选项]

以树状的结构更加直观的查看进程信息
常用选项:
-p:显示进程的PID
-u:显示进程所属用户

动态监控进程

top与ps都用来显示正在执行的进程,不同之处在于top在执行一段时间之后可以更新正在运行的进程,类似于windows的任务管理器。

top [选项]
常用选项:
-d:指定top命令每隔几秒更新,默认是3秒
-p:使top不显示任何闲置或僵死zombie进程
-i:通过指定PID来仅监控某个进程的状态

交互操作,注意区分大小写:
P:以CPU使用率排序,也是默认
M:以内存使用率排序
N:以PID排序
u:输入用户名,只显示某一个用户
k:输入进程号,kill进程
q:退出top

二、服务管理

服务本质就是进程,但是运行在后台,因此又称为守护进程,通常会监听某个端口,等待其他程序的请求,比如mysql、sshd、防火墙iptables等。

监控网络(服务)状态

netstat [选项]
只有网络服务才会监听端口,所以使用这个指令可以看到正在监听的端口

常用选项:
-an:按一定顺序排列输出
-p:显示哪个进程正在调用

常用示例:
netstat -anp | more,查看所有的网络服务
netstat -anp | grep xxx,专门查看某一个网络服务
netstat -ntlp 查看端口监听状态

查看系统服务

1.setup指令 -> 选择系统服务,有*的服务就是开机自启动服务
2./etc/init.d/服务名称

对服务进行操作

sevice 服务名 [start | stop | restart | reload | status]
CentOS7以后有的服务使用systemctl:system control

windows中可以使用telnet命令检查linux某个端口是否在监听,并且可以访问(即检测是否启用了某个服务)。
telnet 目标ip 目标端口 例如:telnet 192.168.40.5 22 检测sshd服务是否启动

使用service对服务进行操作只是临时的,reboot之后会返回以前对服务的设置,如果希望永久生效,需要使用chkconfig

CentOS 7下防火墙服务的操作

CentOS 7下防护墙是firewalld不再是iptables,所以不能使用service iptables status
CentOS 7下使用防火墙:systemctl start firewalld

具体可以参考以下两篇

CentOS 7防火墙详解
防火墙常用命令

服务的运行级别–runlevel

这里的运行级别其实和前面讲的运行级别是同一个概念。每一个服务在不同运行级别下的自启动状态是不同的,开机启动的时候init进程会在/etc/inittab中读取默认运行级别,然后启动这个运行级别下自启动的服务。

chkconfig

chkconfig命令可以给各个运行级别设置自启动/关闭。
基本语法:
chkconfig --list | grep xxx
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off

chkconfig和service设置的区别:
service设置的是服务当前状态打开或关闭,不影响自启动;chkconfig设置的是是否打开这个服务的自启动,不影响当前的状态。所以reboot之后service的修改不再生效,chkconfig的设置开始生效。

注意!!!
CentOS 7下chkconfig输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。要列出 systemd 服务,请执行 ‘systemctl list-unit-files’。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值