基本介绍
- 进程:每一个正在被执行的程序。每个进程都被分配一个id号:PID。
- 进程以两种方式存在:前台和后台。前台进程即是用户屏幕上正在运行的进程,后台进程则是在屏幕上看不到而实际在运行的进程。
- 系统的服务一般以后台的形式常驻于系统。
ps查看进程状态指令
参数
- -a:显示当前终端的所有进程信息
- -u:以用户格式显示进程信息
- -x:显示后台进程运行的参数
- -e:所有进程
- -f:全格式
ps -aux
ps -ef (可以显示父子进程)
详解:
- USER:用户
- PID:进程号
- PPID:父进程号
- %CPU:占用cpu的百分比
- %MEM:占用物理内存的百分比
- VSZ:占用虚拟内存大小 单位kb
- RSS:占用物理内存大小 单位kb
- TTY:终端名称或缩写
- STAT进程状态:
- S-睡眠;W-等待中进程;R-正在运行;D-短期等待的休眠进程;Z-僵死进程;T-被跟踪或被停止;s-session leader进程 表示该进程是会话的先导进程(有子进程);N-优先级较低;< -优先级较高;I-多线程:+ -位于后台的进程组。
- STARTED:进程的启动时间
- TIME:进程使用cpu的总时间
- COMMAND:启动进程所用的命令和参数
kill&killall杀死进程指令
kill [参数] 进程号
killall 进程名 (支持通配符 便于批处理)
参数: -9 强制终止
pstree查看进程树指令
更加清晰地显示进程之间的父子关系
pstree [参数]
参数:
- -p:显示进程的PID
- -u:显示进程的所属用户
服务管理Service
又称为守护进程。运行在后台,通常会监听某个端口,等待其他程序的请求,比如mysql、sshd、防火墙等。
service 服务名 [start | stop | restart | status | reload]
服务的运行级别runlevel
七种运行级别-之前入门手册里讲过
0-关机
1-单用户 【找回丢失密码】
2-多用户 无网络
3-多用户 有网络
4-系统未使用保留给用户
5-图形界面
6-系统重启
一般级别3和5比较常用,但是在工作中最常用的是级别3,与级别5相比更省资源
开机的流程说明:开机->BIOS->/boot->systemd进程1->运行级别->运行对应的服务
chkconfig给服务的各个运行级别设置自启动/关闭指令
chkconfig命令属于readhat系的,如果系统属debina系如ubuntu是没有这个命令的,不过可以直接用systemctl。(kali属于Ubuntu)
centos7之后也大多用systemctl
chkconfig --list
//查看服务chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off
//对某服务在运行级别5开启或关闭自启动 注意执行完之后需要reboot生效
systemctl管理指令
目前最常用的管理指令。
systemctl [start | stop | restart | status ] 服务名 //管理服务
systemctl list-unit-files [|grep 服务名]
//查看所有服务状态systemctl enable 服务名
//开启自启动systemctl disable
服务名 /关闭自启动systemctl is-enable
服务名 //询问是否自启动
firewall指令
防火墙的端口设置。如果没有防火墙的话,外部的地址可以通过某些端口和协议直接与本地建立联系,但是启用了防火墙的话,可以设定开放或者关闭一些端口,使得只有指定的端口可以使用。
firewall-cmd --permanent --add-port=端口号/协议
//打开端口firewall-cmd --permanent --remove-port=端口号/协议
//关闭端口firewall-cmd --reload
//重新载入才能生效firewall-cmd --query-port=端口号/协议
//查询端口是否开放
top动态监控进程指令
与ps指令很相似,不过不同的是top执行一段时间可以更新正在运行的程序。
top [参数]
参数:
- -d 秒数:指定top指令每隔几秒更新,默认是3秒
- -i:使top不显示任何闲置或者僵死进程
- -p:通过指定监控进程ID来仅仅监控某个进程的状态6
netstat查看系统网络情况指令
netstat [参数] [ | grep 服务名 ]
- -an:按一定顺序排列输出
- -p:显示哪个进程在调用
详解:
- proto 网络协议
- local address 本地地址
- foreign address 外部地址
- state 状态 :ESTABLISHED连接 LISTEN监听 TIME_WAIT超时等待
一些网络基础:地址冒号后面的数字代表建立连接的端口,本地和外部通过端口建立连接,因此本地地址和外部地址双方都要有一个端口,不过端口也不一定只能是一对一的,也可以二对一。