Linux进程管理(重点)

基本介绍:

1、在Linux中每个执行的程序都被称为一个进程,每一个进程都分配一个ID号(pid,进程号)

2、每个进程都可能以两种方式存在:前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但是由于屏幕上无法看到的进程,通常使用后台方式执行

3、一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才会结束

 

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

USER:用户名称

PID:进程号

%CPU:进程占用CPU的百分比

%MEM:进程占用物理内存的百分比

VSZ:进程占用的虚拟内存大小(单位KB)

RSS:进程占用的物理内存大小(单位KB)

TT:终端名称,缩写

STAT:进程状态,其中S睡眠,s表示该进程是会话的先导进程,N表示进程拥有比普通优先级更低的优先级,R正在运行,D短期等待,Z僵死进程,T被跟踪或被停止等

STARTED:进程启动时间

TIME:CPU时间,即进程使用CPU的总时间

COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

 

 

【ps -ef】是以全格式显示当前所有进程  -e显示所有进程,-f全格式

UID:用户ID

PID:进程ID

PPID:父进程ID

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

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

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

 

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

【kill 选项 进程号】通过进程号终止进程  -9强制终止进程

【killall 进程名称】通过进程名称终止进程及所有子进程

 

查看进程树:【pstree 选项】可以更加直观的来查看进程信息  -p:显示进程的PID;-u显示进程的所属用户

 

服务管理介绍:服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysqld,sshd,防火墙等),因此我们又称为守护进程。(重要)

【service 服务名 选项】 start,stop,restart,reload,status

在CentOS7.0后很多服务不再使用service,而是systemctl

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

 

服务的运行级别7种(常用级别3和级别5):

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录

运行级别2:多用户状态(没有NFS),不支持网络

运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图像GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设6,否则不能正常启动

开机流程说明:开机 -> BIOS -> /boot -> systemd进程1 -> 运行级别 -> 运行级对应的服务

 

chkconfig介绍:1、通过chkconfig命令可以给服务的各个运行级别设置自启动/关闭;2、chkconfig指令管理的服务在/etc/init.d查看;3、注意CentOS7.0后,很多服务使用systemctl管理

【chkconfig --list】查看服务

【chkconfid --level 5 服务名 on/off】使某服务在级别5中自启动或关闭自启动(重启机器生效)

 

【systemctl 选项 服务名】  start,stop,restart,status(临时生效,重启失效)

systemctl指令管理的服务在 /usr/lib/systemd/system 查看

 

systemctl设置服务的自启动状态

1、【systemctl list-unit-files | grep 服务名】查看服务开机启动状态,grep可以进行过滤

2、【systemctl enable 服务名】设置服务开机启动(默认为3和5两个运行级别的启动)  (重启仍然有效)

3、【systemctl disable 服务名】关闭服务开机启动  (重启仍然有效)

4、【systemctl is-enabled 服务名】查询某个服务是否自启动

 

 

【firewall-cmd --permanent --add-port=端口号/协议】打开端口    【firewall-cmd --permanent --add-port=111/tcp】

【firewall-cmd --permanent --remove-port=端口号/协议】关闭端口

【firewall-cmd --reload】  重新载入 (打开端口/关闭端口都要重新载入才能生效)

【firewall-cmd --query-port=端口/协议】查询端口是否开放

 

动态监控进程介绍:top和ps命令都是用来显示正在执行的进程,top与ps最大的不同就是,top执行一段时间可以更新正在执行的进程

【top 选项】  -d 秒数,指定top每隔几秒更新一次,默认是3秒;-i top不显示任何闲置或者僵死的进程;-p 指定进程ID来监控某个进程的状态

【top】+【u】+回车+【tom】指定监视tom进程

【top】+【k】+回车+【13594】+【9】  强制关闭进程13594

【natstat 选项】  -an按一定顺序排列输出,-p显示哪个进程在调用

Proto网络协议;Local Address本地地址(Linux地址0.0.0.0:22   (22端口));Foreign Address外部地址

 

posted @   WDYWSZGQD  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示