目录
1、进程介绍
- 在linux中,执行的程序称为一个进程,每一个进程都会有一个ID,又叫做pid或进程号。
- 一个进程可能是以前台或者后台的形式存在。前台是指在屏幕上显示的,可以对其操作,只有退出这个进程才能干其他的事。后台是指实际在运行但屏幕上看不到,比如任务调度里面的atd和crond。
2、ps指令
- 基本语法:ps [选项]
- 常用选项:
- -a:显示当前终端的所有进程信息
- -u:以用户的格式显示进程信息
- -x:显示后台进程运行的参数
- -e:显示所有进程
- -f:以全格式显示
- 使用ps -aux后显示以下信息
各个参数的含义:
- USER:进程执行的用户
- PID:进程号
- %CPU:进程占用CPU的百分比
- %MEN:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小,单位KB
- RSS:进程占用的物理内存大小,单位KB
- TTY:终端名称
- STAT:进程的状态
各个选项的含义:
S:睡眠
s:表示该进程是会话的先导进程
N:表示进程拥有比普通优先级更低的优先级
R:正在运行
D:短期等待
Z:僵死进程
T:被跟踪或者被停止
- START:进程的启动时间
- TIME:进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,过长会截断
- 使用ps -ef后显示以下信息
各个参数的含义:
- UID:用户ID
- PID:进程号
- PPID:父进程号
- C:CPU用于计算执行优先级的因子。数值越大,表明是CPU密集型运算,优先级越 低;数值越小,表明是I/O密集型运算,优先级越高。
- STIME:进程启动的时间
- TTY:终端名称
- TIME:进程使用CPU的总时间
- CMD:启动进程所用的命令和参数,过长会截断
另:
- pstree [选项]可以以树状结构查看各个进程及其子进程
- 常用选项:
- -p:显示进程的PID
- -u:显示进程的所属用户
3、终止进程
- kill指令:kill [选项] 进程号(通过进程号中止进程)
- killall指令:killall 进程名称(通过进程名称中止进程,会中止这个进程以及下面的子进程)
- 常用选项:-9:强制停止进程
4、服务管理
服务的本质就是进程,是在后台运行的,通常都会监听某个端口,等待其他程序的请求,又被称作守护进程。
- service指令
- 基本语法:service 服务名 [选项]
- 常用选项:
- start:启动一个服务
- stop:关闭一个服务
- restart:重启一个服务
- reload:重新加载服务
- status:查看一个服务当前的状态
注意:CentOS7.0后很多服务不再使用service,而是使用systemctl
2.查看service服务
service指令管理的服务在/etc/init.d/里面可以查看,不过只能查看一小部分,如果想要查看所有服务,可以使用setup命令,会出现以下页面:
选择系统服务再按回车即可查看服务:
其中前面带 * 号的表示会自启动,光标移动到对应的服务前面再按空格可以取消或开启自启动,使用tab键可以到下面的确认和取消键,回车便可退出该界面。
3.chkconfig指令
可以给服务的各个运行级别设置自启动或关闭。
- 常用语法:
- chkconfig --list [| grep xxx]:查看服务
- chkconfig 服务名 --list:查看某一服务在各个运行级别自启动的开关状态
- chkconfig --level 运行级别 服务名 on/off:设置某一服务指定运行级别的自启动开关状态
注意:使用chkconfig重新设置自启动状态后,需要重新启动,可使用reboot指令
4.systemctl指令
systemctl指令管理的服务在/usr/lib/systemd/system查看。
- 基本语法:systemctl [选项] 服务名
- 常用选项:
- start:启动一个服务
- stop:关闭一个服务
- restart:重启一个服务
- reload:重新加载服务
- status:查看一个服务当前的状态
- 设置服务的自启动状态:
- syatemctl list-unit-files [| grep xxx]:查看所有服务的开机启动状态
- systemctl enanie 服务名:设置服务开机自启动
- systemctl disable 服务名:关闭服务开机自启动
- systemctl is-enable 服务名:查询某个服务是否是自启动
5.firewall指令
当防火墙是打开的时候,如果端口是没有打开的,那外部的请求数据包就无法和端口通信,所以需要打开指定的端口。
- 常用语法:
- firewall-cmd --permanent --add-port=端口号/协议:打开端口
- firewall-cmd --permanent --remove-port=端口号/协议:关闭端口
- firewall-cmd --reload:修改端口状态后,需要重新载入才能生效
- firewall-cmd --query-port=端口/协议:查询端口是否开放
- 要查看端口的协议,可以使用netstat -anp | more(-an:按一定顺序排列输出;-p:显示哪个进程在调用),出现以下界面:
最前面的Proto列便是端口协议。