欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > Linux 进程管理

Linux 进程管理

2025/3/9 22:22:08 来源:https://blog.csdn.net/lllsure/article/details/146045242  浏览:    关键词:Linux 进程管理

一.进程

1.基本介绍

在Linux中每一个执行的程序都称之为进程,每一个进程都会分配一个进程号(PID)。进程以前台和后台两种方式存在,前台进程就是我们可以在屏幕上操作的,后台进程我们无法在屏幕上看到。

程序是静态的,进程是动态的,程序 run 起来就变成进程了。

2.ps 指令

ps 指令可以查看当前系统中有哪些进程,以及这些进程的执行状况。

可以直接使用 ps 指令,但是得到的信息有限:

ps

我们可以搭配一些选项来写:

-a显示当前终端的所有进程信息
-u以用户的格式显示进程信息
-x显示后台进程运行的参数

我们可以将上面的选项一起写:

ps -aux

解释一下第一行的表头的意思:

USER进程执行用户
PID进程号
%CPU进程占用cpu的百分比
%MEM进程占用物理内存的百分比
VSZ进程占用虚拟内存的大小,单位是KB
RSS进程占用物理内存的大小,单位的KB
TTY终端
STAT运行状态,S-睡眠,s-该进程是会话的先到过程,N-进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止
START执行的开始时间
TIME占用的cpu时间
COMMAND启动进程所用的命令和参数,过长会被截断

3.查看父进程

我们可以通过以全格式显示当前所有的进程来查看进程的父进程。

ps -ef

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

对于第一行表头,只解释上面没有的部分:

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

4.终止进程

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程,我们就要使用终止进程指令来结束这个进程。

基本语法:

kill [选项] 进程号
killall 进程名称

常用选项:-9:强迫进程立即停止

5.进程树

以树的形式显示进程。

基本语法:

pstree [选项]

常见选项:

-p显示进程PID
-u显示进程所属用户

二.服务管理

1.介绍

服务(service)本质就是进程,运行在后台,通常会监听某个端口,等待其他程序的请求,因此又称其为守护进程。

service指令管理的服务在 /etc/init.d 查看:

ls -l /etc/init.d/

service指令管理的服务还可以使用指令查看:

setup

注:前面有*指的是这个服务在系统开启后自动开启,没有* 要手动开启。

2. chkconfig指令

可以通过该指令给服务的各个运行级别设置自启动或关闭。chkconfig指令管理的服务再 /etc/init.d 查看。运行级别是什么请看:Linux 实用指令_虚拟机init3命令-CSDN博客

基本语法:

//查看服务
chkconfig --list
chkconfig 服务名 --list
//设置自启动
chkconfig --level 级别 服务名 on/off

注意,设置完自启动后要重启系统才能生效。

3.systemctl 指令

在Centos7.0后,很多服务不使用chkconfig管理,而是使用systemctl管理。systemctl 指令管理的服务在 /usr/lib/systemd/system 查看。

基本语法:

systemctl [start|stop|restart|status] 服务名 

使用这种方式设置的自启动或关闭只是临时生效,重启了就没了,如果想要永久生效,要使用:

systemctl [enable|disable] 服务名

设置自启动:

//查看服务开机启动状态
systemctl list-unit-files
//设置自启动
systemctl enable 服务名
//关闭自启动
systemctl disable 服务名
//查询某个服务是否为自启动
systemctl is-enabled 服务名

4. firewall 指令

该指令主要用于打开或关闭指定端口。

基本语法:

//打开端口
firewall-cmd --permanent --add-port=端口号/协议
//关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
//查询端口是否开放
firewall-cmd --query-port=端口号/协议
//重新载入才能生效
firewall-cmd --reload

查看端口号和协议的方法:

netstat -anp

三.动态监控

1.top指令

与ps指令相似,都可以查看正在执行的进程,与ps不同的是top会更新正在运行的进程。

基本语法:

top [选项]

选项:

-d 秒数指定top命令每隔几秒更新,默认3秒
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来仅仅监控某个进程的状态

在进入top指令界面后,我们可以使用一些操作来让显示发生一定的变化:

P以 CPU 使用率排序,默认就是此项
M以内存的使用率进行排序
N以 PID 排序
q退出 top

u

输入用户名即可查看这个用户的进程
k输入要结束的进程ID

2.监控网络状态

基本语法:

netstat [选项]
-an按一定顺序排列输出
-p显示哪个进程在调用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词