目录
一、进程的基本介绍
1.在linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个多个子进程,例如www服务器。
3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前屏幕上可以进行操作的。后台进程则是实际在操作,但是由于屏幕上无法看到的进程,通常使用后台方式执行。
4.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。
二、显示系统执行的进程
说明:
1.查看进程使用的指令是: ps ,一般来说使用的参数是ps -aux
ps -a :显示当前终端所有的进程信息
ps -u :以用户的格式显示进程信息
ps -x :显示后台进程运行的参数
实例:
1.使用ps -aux查看所有进程信息
使用ps -aux | grep 服务名 查看指定的服务的进程信息
eg: ps -aux | grep sshd
2.以全格式显示当前所有的进程,查看进程的父进程。
ps -ef 是以全格式显示当前所有的进程
-e : 显示所有的进程
-f : 全格式
ps -ef | grep xxx
eg : ps -ef | grep sshd
三、终止进程kill和killall
kill 进程号 :通过进程号杀死一个进程
killall 进程名称 :通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时有用
可以加上参数 -9 表示强制终止一个进程
实例:踢掉某个远程登录的用户
1.先使用命令 ps -aux | grep sshd 查找出有哪些登录用户
将wenpan这个登录用户剔除掉:
从上面可以看见,该用户就被踢出去了。
若将sshd这个进程kill掉了,那么所有的人都无法进行远程登录了
pstree 【选项】命令:该命令用来更加直观的查看进程信息
参数:
-p : 显示进程的ID
-u : 显示进程的所属用户
实例:
四、服务管理
1、介绍
服务本质就是进程,但是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如mysql,sshd,防火墙等。因此我们又称为守护进程。
原理图:
2、service管理指令
service 服务名 [start | stop | restart | reload | status]
注意:在centos7以后,不再使用service,而是使用systemctl
实例:
查看防火墙状态:service iptables status
开启防火墙: service iptables start
关闭防火墙: service iptables stop
说明:这种方式只是临时的关闭,重启后失效。若想要永久的生效,要使用chkconfig指令。
实例:查看服务名
使用setup指令 -->系统服务 就可以查看所有的服务
也可以使用 ls -l /etc/init.d/ 命令来列出所有的系统服务
3、服务的运行级别
开机流程说明:
五、chkconfig指令介绍
可以通过chkconfig指令给每个服务的各个运行级别设置自启动/关闭
基本语法:
查看服务: chkconfig --list | grep xxx
查看指定的服务运行状态:chkconfig --list | grep sshd
chkconfig 服务名 --list:
改变服务的运行状态:
chkconfig --level 运行状态 服务名 on/off
六、应用案例
案例1.显示当前系统所有服务的各个运行级别的运行状态
chkconfig --list
案例2.查看sshd服务的运行状态
service sshd status
案例3.将sshd服务在运行级别5下设置为不自动启动。
chkconfig --level 5 sshd off
案例4.当运行级别为5时,关闭防火墙
chkconfig --level 5 iptables off
案例5.在所有运行级别下关闭防火墙
chkconfig iptables off
案例6.在所有运行级别下开启防火墙
chkconfig iptables on