Linux的进程管理
- 基本介绍
 - 显示系统执行的进程
 - ps 指令基本介绍
 
- 终止进程kill和killall
 - 基本语法
 
- 查看进程树 pstree
 - 服务 service 管理
 - service介绍
 - service管理指令
 - chkconfig 指令
 
- systemctl 管理指令
 - 基本指令
 - systemctl 设置服务的自启动状态
 - 示例
 - 打开或者关闭指定端口
 
- 动态监控进程
 - 基本用法
 - 选项说明
 - 在top中交互操作
 
- 查看网络状态
 - 查看系统网络状态 netstat
 - 检测主机连接命令 ping
 
基本介绍
在linux中,每个执行的程序都称为一个进程,每个进程都分配一个ID号(PID)
每个进程都可能以两种方式存在,前台与后台
一般系统的服务都是以后台进程的方式存在的,而且都会常驻在系统中,直到关机才结束。
显示系统执行的进程
ps 指令基本介绍
ps(process show) 是用来显示目前系统中,有哪些正在执行,以及它们的执行情况。
ps [选项]
可选选项
- ps -a 显示当前终端的所有进程信息
 - ps -u 以用户的格式显示进程信息
 - ps -x 显示后台进程运行的参数
 
一般来说,进行结合使用,即为:ps -aux

- ps -e: 显示当前所有进程
 - ps -f: 全格式
 

终止进程kill和killall
基本语法
kill [选项] 进程号- 通过进程号来杀死/终结进程
 - 选项 
    
-9表示强迫进程立即停止
 
killall 进程名称- 通过进程名称来杀死进程
 
查看进程树 pstree
❗️:如果显示没有此命令,在cenos中可以通过yum install psmisc来进行安装此命令。
基本语法: pstree [选项] 
可以更加直观的来看进程信息
常用选项
- -p 显示进程的pid
 - -u 显示进程所属的用户
 

服务 service 管理
service介绍
服务(service)的本质就是进程,但是该进程是运行在后台的。通常会监听某个端口,等待其它程序的请求。
因此,后台程序又被称为守护程序。
service管理指令
service 服务名 [start|stop|restart|status]- 在cenos7以后,很多服务不再使用service去管理,而是使用systemctl
 - ⭐️service 指令管理的服务在
/etc/init.d中进行查看([[1-Linux目录结构#^f9a9d2|linux中的/etc目录]]) 

chkconfig 指令
通过chkconfig命令,可以给服务的各个运行级别设置自启动/关闭
也就是说,服务的自启动和关闭是针对不同的机器运行级别的
显示chkconfig指令支持的服务:chkconfig --list

使用chkconfig指令
格式:chkconfig --level 级别 服务名 on/off
![[3-Linux 实操#指定运行级别]]
❗️:当使用chkconfig重新设置服务在不同级别下的自启动和关闭时,需要重启机器才会生效。
systemctl 管理指令
基本指令
systemctl [start|stop|restart|status] 服务名
⭐️:systemctl 指令管理的服务在/usr/lib/systemd/system中查看
![[1-Linux目录结构#^050dfd]]
systemctl 设置服务的自启动状态
- 查看服务开机启动状态 
  
systemctl list-unit-files
 - 设置服务开机启动 
  
systemctl enable 服务名
 - 关闭服务开机启动 
  
systemctl disable 服务名
 - 查询某个服务是否是自启动的 
  
systemctl is-enabled 服务名
 
示例
查看systemctl 支持的firewalld服务

发现存在firewalld.service
则可以通过命令进行控制并查看
systemctl status firewalldsystemctl stop firewalldsystemctl start firewalld

打开或者关闭指定端口
- 打开端口 
  
firewall-cmd --permanent --add-port=端口号/协议
 - 关闭端口 
  
firewall-cmd --permanent --add-port=端口号/协议
 - 重新载入,才能生效 
  
firewall-cmd --reload
 - 查询端口是否开放 
  
firewall-cmd --query-port=端口/协议
 
在win中,可以通过telnet IP地址 端口来测试某个主机的端口是否打开
动态监控进程
基本用法
top [选项]
"top"和"ps"都是在Unix和类Unix系统中使用的命令,用于查看系统中运行的进程信息。它们之间的区别:
- 功能 
  
- top是一个动态的进程监视工具,它实时显示系统中运行的进程信息,包括CPU使用率、内存使用情况等。
 - ps是一个静态的进程查看工具,它一次性显示当前系统中的进程信息,不会实时更新。
 
 - 显示方式 
  
- top以交互式的方式显示进程信息,可以动态排序和过滤进程,还可以实时更新显示。
 - ps以命令行的方式显示进程信息,需要使用不同的选项来指定要显示的信息。
 
 
选项说明
-d 秒数:指定top命令每间隔几秒更新,默认为3s-i: 使用top不显示任何闲置或者僵死进程-p: 通过指定监控进程ID来仅仅监控某个进程的状态
在top中交互操作
| 操作 | 功能 | 
|---|---|
| P | 以CPU使用率来进行排序,默认是此选项 | 
| M | 以内存的使用率排序 | 
| N | 以PID来进行排序 | 
| u | 输入用户名,监视特定用户 | 
| k | 输入要结束的进程ID号,终结指定的进程 | 
| q | 退出 | 
查看网络状态
查看系统网络状态 netstat
- 基本语法 
netstat [选项]- 查看系统网络状态
 - 选项说明 
    
-an按照一定顺序排列输出-p显示哪个进程在调用
 
 

检测主机连接命令 ping
检测连接远程主机是否正常
![[CrackMe]Brad Soblesky.1.exe和Brad Soblesky.2.exe的逆向及注册机编写](https://img-blog.csdnimg.cn/67980005aa1e479ab18abb7c1aad4dbb.png)


















