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字段)
③pstree [option] 以树的形式来查看进程信息
常用选项:-p 显示进程的PID -u 显示进程的所属用户
终止进程
kill [option] 进程号
killall 进程名(可使用通配符结束多个进程,结束父进程会结束所有子进程)
常用选项: -9 强制进程立刻停止
例:踢掉非法用户,通过sshd查看用户,杀死对应进程
服务管理
本质是进程,在后台运行,通常监听某个端口,等待其它程序的请求,又称为守护进程
如: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
③查看相关服务
可以使用setup–>系统服务(*显示自启动)
PS:可以使用Tab移动光标,Enter退出
④各运行级别服务自启动管理(CentOs7之前)
chkconfig --list | grep 查看指定服务
chkconfig 服务名 --list 查看指定服务
chkconfig --level 运行等级 服务名 on/off 在运行等级指定服务是否自启动
PS:省略 --level 运行等级 则表示对所有等级都修改
在CentOS7之后该方法只可查看并设置非本地系统服务(如:network)
可使用systemctl list-unit-files 查看所有系统服务
systemctl list-dependencies [target] 来查看在特定目标上启动的服务
systemctl enable 服务名 设置自启动
systemctl disable 服务名 禁用自启动
systemctl is-enabled 服务名 查看是否自启动
动态监控进程
top:用来显示正在执行的进程,与ps类似,不过top指令显示的进程会进行更新
①常用选项:
-d 秒数 指定每隔几秒更新
-i 不显示任何闲置或僵死进程
-p 通过指定监控进程ID来监控某个进程的状态
②交互操作快捷键:
P 以CPU使用率排序(默认) M 以内存使用率排序
N 以PID排序
q 退出top
u 输入用户名,可查看某个用户的进程
k 输入进程ID号,来结束指定的进程
有关top调用后第一行显示信息:当前时间、运行时间、登陆用户数、负载均衡
监控网络状态
netstat [option] 查看网络使用情况
常用选项:
-an 按一定顺序排列输出
-p 显示哪个进程在调用
ping ip/DNS域名 使用ICMP报文,检测连接