二十、Linux进程管理(重点)

一、进程管理(重点)

  • 基本介绍

(1)、在Linux中,每个执行的程序(代码)都称为一个进程。每个进程都分配一个id号

(2)、每一个进程都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器

(3)、每个进程都可以以两种方式存在。前台与后台,所谓前台进程就是用户目前屏幕上进行操作的。后台进程是实际在操作,但屏幕上无法看到的进程

(4)、一般系统的服务器都是以后台进程的方式存在,而且都会常驻在系统中,知道关机

才结束。

 

1、显示系统执行的进程

  • 基本介绍:

         ps命令是用来查看目前系统中,有哪些正在执行,以及它们的执行情况。

         可以不加任何参数

 

 

ps-a:显示当前终端的所有进程信息

ps -u:以用户的格式显示进程信息

ps -x:显示后台进程运行的参数

一般使用 ps -aux |more :查看的信息全面

 

 

 

 

  • 实例:

要求:以全格式显示当前所有的进程,查看进程的父进程

ps -ef |more

ps -ef 是以全格式显示当前所有进程

-e 显示所有进程, -f全格式

ps -ef |grep XXX --查看某个程序的父进程

UID:用户ID

PID:进程ID

PPID:父进程ID

C:Cpu用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高。

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

CMD:启动进程所用的命令和参数

2、终止进程kill和killall

  • 介绍

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令完成

  • 基本语法:

kill [选项] 进程号 (功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时很有用)

  • 常用选项:

-9:表示强迫进程立即停止

  • 实例:

(1)、踢掉某个非法登录用户

root登录,ps -aux |grep sshd 查看进程号

kill 4010

(2)、终止远程登录服务sshd,在适当的时候再次启用sshd服务

ps -aux |grep sshd 查看sshd进程号

kill 3908

(3)、终止多个gedit编辑器【killall,通过进程名称终止】

killall gedit

(4)、强制杀掉一个终端

ps -aux |grep bash 查看终端进程号

kill -9 4090

 

3、查看进程树pstree

  • 基本语法:

pstree [选项] (可以更加直观的来看进程信息)

  • 常用选项:

-p:显示进程的PID

-u:显示进程的所属用户

  • 实例:

(1)、请以树状的形式显示进程的pid

pstree -p

(2)、请以树状的形式显示进程的用户id

pstree -u

 

 

二、服务service管理

  • 介绍:

服务(service)本质就是进程,但是是运行在后台的。通常都会监听某个端口,等待其他程序的请求,例如(mysql、sshd,防火墙等),因此又称为守护进程,在Linux中非常重要。

  • service 管理指令:

service 服务名 start |stop|restart|reload|status

CentOS 7后,不再使用service,而是systemctl

  • 实例:

查看当前防火墙状态,关闭防火墙,重启防火墙

service iptables status

service iptables start

service iptables stop

  • 细节讨论:

(1)、关闭或启用防火墙后,立即生效[Telnet测试某个端口]

Telnet指令查看linux的某个端口是否在监听,并且可以访问

在dos窗口,telnet 192.168.84.130 22

(2)、这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置

(3)、如果设置某个服务自启动或关闭永久生效,要使用chkconfig指令

1、查看服务名

方式一:setup--系统服务,选中服务按空格可以取消启动

方式二:ls -l /etc/init.d --列出系统有哪些服务

  • 服务的运行级别

 

 

  • 思考题:

如果不小心将默认的运行级别设置成0或者7,怎么处理?

进入单用户,修改

 

2、chconfig指令

  • 介绍:

通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭

  • 基本语法:

(1)、查看服务:chkconfig --list|grep XXX

chkconfig --list

chkconfig --list|grep sshd

(2)、chkconfig 服务名 --list

chkconfig iptables --list

(3)、chkconfig --level 5 服务名 on/off --修改某个服务在某个级别下自启动

将sshd服务在运行级别5的情况下不要自启动

chkconfig --level 5 sshd off

  • 实例:

(1)请显示当前系统所有服务的各个运行级别的运行状态

chkconfig --list

(2)、请查看sshd服务的运行情况

service sshd status

(3)、当运行级别为5时,关闭防火墙

chkconfig --level 5 iptables off

(4)、在所有运行级别下运行开启防火墙

chkconfig iptables on

  • 使用细节:

chkconfig重新设置服务后,自启动或关闭,需要重启reboot才生效

 

3、动态监控进程

  • 介绍

top与ps命令相似,它们都用来显示正在执行的进程。top与ps最大的不同之处在于top在

执行一段时间可以更新正在运行的进程

  • 基本语法:

top [选项]

  • 选项说明:

 

 

  • 交互操作说明:

 

 

  • 实例:

(1)、监视特定用户

top 回车

 

 

输入u,再输入用户名

(2)、终止指定进程

top 回车

输入k,输入要终止进程号

(3)、执行系统状态更新的时间(每隔10秒自动更新, 默认是3秒)

top -d 10

4、监控网络状态

查看系统网络情况netstat(重要)

  • 基本语法:

netstat [选项]

netstat -anp

  • 选项说明:

-an :按一定顺序排序输出

-p:显示哪个进程在调用

  • 实例:

(1)、查看系统所有的网络服务

netstat -anp |more

(2)、查看服务名为sshd的服务信息

netstat -anp |grep sshd

 

 

 

 

 

 

 

 

 

posted @   拾柴慢热  阅读(216)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示