CentOs基础操作指令(进程管理)

进程

①Linux中每个执行的程序都是一个进程,每个进程都有一个ID号
②每一个进程都对应一个父进程,这个父进程可以复制多个子进程
③每个进程都可能以两种方式存在,前台(用户目前屏幕上可以操作的)和后台(实际在操作,屏幕上无法看到)
④一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

ps 查看进程

①字段信息

字段 信息
PID 进程识别号
MEM 物理内存占用百分比
VSZ 虚拟内存
RSS 物理内存
TTY 终端机号
START 进程启动时间
STAT 进程状态,S休眠,s先导进程,N低优先级,R运行,D短期等待,Z僵死进程,T被跟踪或停止
TIME 此进程消耗CPU时间
COMMAND 启动进程所用的命令和参数,过长会被截断

②常用选项:
-a 显示当前终端所有进程信息
-u 以用户的格式显示进程信息
-x 显示后台进程运行的参数
TIPS:ps -ef 可以查看进程的父进程(PPID字段)
CentOs基础操作指令(进程管理)

③pstree [option] 以树的形式来查看进程信息
常用选项:-p 显示进程的PID -u 显示进程的所属用户
CentOs基础操作指令(进程管理)

终止进程

kill [option] 进程号
killall 进程名(可使用通配符结束多个进程,结束父进程会结束所有子进程)
常用选项: -9 强制进程立刻停止
例:踢掉非法用户,通过sshd查看用户,杀死对应进程
CentOs基础操作指令(进程管理)

服务管理

本质是进程,在后台运行,通常监听某个端口,等待其它程序的请求,又称为守护进程
如:sshd(22)、mysqld(3306)、防火墙(iptables)
①管理指令
systemctl start|stop|restart|reload|status 服务名
Centos7.0之前,service 服务名 start|stop|restart|reload|status
PS:这种方式只是临时生效,重启系统后回归配置

②可以通过telnet ip 端口 检测目标的某个端口是否在监听,且是否可以访问
PS:需在win10的‘启用或关闭Windows功能’中开启telnet
此处我检测22号端口为:SSH
CentOs基础操作指令(进程管理)
CentOs基础操作指令(进程管理)

③查看相关服务
可以使用setup–>系统服务(*显示自启动)
CentOs基础操作指令(进程管理)
PS:可以使用Tab移动光标,Enter退出

④各运行级别服务自启动管理(CentOs7之前)
chkconfig --list | grep 查看指定服务
chkconfig 服务名 --list 查看指定服务
chkconfig --level 运行等级 服务名 on/off 在运行等级指定服务是否自启动
PS:省略 --level 运行等级 则表示对所有等级都修改
CentOs基础操作指令(进程管理)

在CentOS7之后该方法只可查看并设置非本地系统服务(如:network)
可使用systemctl list-unit-files 查看所有系统服务
systemctl list-dependencies [target] 来查看在特定目标上启动的服务
systemctl enable 服务名 设置自启动
systemctl disable 服务名 禁用自启动
systemctl is-enabled 服务名 查看是否自启动
CentOs基础操作指令(进程管理)

动态监控进程

top:用来显示正在执行的进程,与ps类似,不过top指令显示的进程会进行更新
①常用选项:
-d 秒数 指定每隔几秒更新
-i 不显示任何闲置或僵死进程
-p 通过指定监控进程ID来监控某个进程的状态
②交互操作快捷键:
P 以CPU使用率排序(默认) M 以内存使用率排序
N 以PID排序
q 退出top
u 输入用户名,可查看某个用户的进程
k 输入进程ID号,来结束指定的进程
有关top调用后第一行显示信息:当前时间、运行时间、登陆用户数、负载均衡
CentOs基础操作指令(进程管理)

监控网络状态

netstat [option] 查看网络使用情况
常用选项:
-an 按一定顺序排列输出
-p 显示哪个进程在调用
CentOs基础操作指令(进程管理)
ping ip/DNS域名 使用ICMP报文,检测连接