linux学习篇之进程管理
一:进程基本介绍
1)查看系统执行的进程:
基本语法:
ps [选项]
选项:
-a:显示当前终端的所有进程
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
-e:显示所有进程
-f:全格式
ps -aux | more --显示当前正在执行的进程
ps -aux | grep sshd --查看远程连接sshd的进程情况
ps -ef - more --以全格式查看当前所有进程且包含父进程
二:终止进程kill和killall
1).杀掉非法远程登录的用户jack
ps -aux | grep sshd --查找远程登录的进程
kill -9 4010 --杀死远程连接的进程
2).终止远程登录sshd服务,在适当的时候再次重启sshd服务
kill -9 3908
3).终止多个gedit编辑
killall gedit
4).强制杀掉一个终端
ps -ef | grep bash --一个终端对应一个bash的进程
kill -9 4518 --终端必须要带-9来强制杀掉
三:查看进程树pstree
基本语法:
pstree [选项] --可以更直观的来看进程信息
常用选项:
-p:显示进程的PID
-u:显示进程的所属用户
应用实例:
1).请树状的显示进程pid
pstree -p | head
2)请树状的显示用户pid
pstree -u | head -n 20
四:服务管理
1)服务本质就是进程,但是都是在后台运行的,通常都会监听某个端口,等待其他程序请求服务如mysql,sshd,防火墙等,因此又称为守护进程
service管理指令
service 服务名 [start | stop | restart | reload | status]
在Centos7.0后不再使用service指令而是systemctl
案例1.查看当前防火墙状态,关闭防火墙和重启防火墙
service iptables restart --重启防火墙
2)查看系统有哪些服务
方式一:使用 setup 指令
选择要查看哪种服务,如选择系统服务,回车进入
带*的表示自启动服务,使用空格键来取消*;如果设置了取消则下次开机启动则不会运行该服务
方式二:
ls -l /etc/init.d/ --可以查看服务名
3)服务的运行级别
4)chkconfig指令
chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭
基本语法:
1)查看服务:chkconfig --list | grep 服务名
2)chkconfig 服务名 --list
3)chkconfig --level 5 服务名 on/off
chkconfig --level 5 sshd off --sshd服务运行级别为5的情况下不要自启动
4)在所有运行级别下关闭防火墙服务
chkconfig iptables off
chkconfig重新设置服务后自启动或关闭,需要reboot后才能生效
五:动态监控进程
top与ps命令相似。他们都是用来显示正在执行的进程,top和ps的最大不同在于top在执行一段时间可以更新正在运行的进程。类似于windows的任务管理器
基本语法:
top [选项]
选项说明:
-d:指定top命令隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i:使top不显示任何闲置或者僵尸的进程
-p:通过指定监控进程ID来仅仅监控某个进程的状态
交互操作:排序使用 --交互是指top进入后键如P/M/N/q
六:查看系统网络使用情况netstat
基本语法:
netstat [选项]
选项说明:
-an:按一定顺序排列输出
-p:显示哪个进程在调用
应用案例:
1)查看系统所有的网络服务
netstat -anp | more
2)请查看服务名为sshd的服务信息
netstat -anp | grep sshd