当前位置:首页 > 行业动态 > 正文

Linux系统中有哪些常用的进程管理工具?

Linux 提供了多种进程工具,如 ps、top、htop 和 systemctl,用于管理和监控系统的进程。ps 显示当前活动进程,top 实时监控 CPU 使用情况,htop 提供交互式界面,systemctl 管理 systemd 服务。

Linux 进程工具

Linux系统中有哪些常用的进程管理工具?  第1张

在Linux操作系统中,进程管理是系统管理的核心之一,了解如何查看和控制进程对于系统管理和故障排除至关重要,本文将详细介绍几种常用的Linux进程管理工具,包括ps、top、kill、pkill、pstree等,帮助读者熟练使用这些命令来监视和管理系统中的进程。

一、ps命令

ps命令用于查看当前系统中的进程信息,默认情况下,ps命令显示当前用户的所有进程,常用选项有:

ps aux:显示所有进程的详细信息,包括CPU、内存占用等。

ps -ef:显示所有进程的信息,包括进程之间的父子关系。

ps -e –forest:以树状结构显示进程之间的父子关系。

ps -e | grep XX:显示所有进程名字中包含XX的进程详细信息。

ps aux
ps -ef
ps -e --forest
ps -e | grep httpd

二、top命令

top命令可以动态显示系统中进程的资源占用情况,它提供实时的CPU、内存和进程信息,是监视系统性能的有力工具,在top界面中,可以通过按键来进行不同的排序和过滤。

常用按键:

q:退出top。

r:修改进程的nice值(优先级)。

k:向进程发送信号,用于终止进程。

P:按CPU使用率排序进程。

M:按内存使用率排序进程。

top

三、kill命令

kill命令用于终止进程,每个进程都有一个唯一的进程ID(PID),kill命令根据PID来终止进程,默认情况下,kill命令发送SIGTERM信号给目标进程,要求它正常退出,如果需要强制终止进程,可以使用SIGKILL信号。

终止进程(PID为1234)
kill 1234
强制终止进程
kill -9 1234

四、pkill命令

pkill命令与kill命令类似,但它允许根据进程名终止进程,pkill命令会根据进程名搜索所有匹配的进程并终止它们。

终止名为"target_process"的进程
pkill target_process
强制终止名为"target_process"的进程
pkill -9 target_process

五、pstree命令

pstree命令以树状结构显示进程之间的父子关系。

pstree

六、nice和renice命令

nice命令用于启动新进程时设置进程的优先级,renice命令用于修改正在运行的进程的优先级。

启动新进程并设置优先级为10
nice -n 10 command
修改正在运行的进程的优先级为10(PID为1234)
renice 10 -p 1234

七、Supervisor工具

Supervisor是一个用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启,它通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动。

安装Supervisor

Ubuntu环境安装:

sudo apt-get update
sudo apt-get install supervisor

Centos环境安装:

sudo yum install supervisor

配置Supervisor

Supervisor的主配置文件通常位于/etc/supervisord.conf,而每个被管理的进程配置文件则位于/etc/supervisord.d/目录下。

一个简单的被管理进程配置文件test.ini可能如下所示:

[program:test]
command=/data/test/test-service-server-test.jar   ; 运行进程的命令
directory=/data/test                             ; 进程文件目录
autostart=true                                   ; 是否随着supervisor启动而启动,默认true
autorestart=ture                                 ; 是否自动启动,程序退出会自动拉起
user=root                                         ; 运行进程的用户
startsecs=3                                       ; 进程启动多少秒之后,如果进程状态是running,则我们认为启动成功,默认值为1
redirect_stderr=true                             ; 把stderr重定向到stdout,默认 false
stdout_logfile_maxbytes=50MB                     ; stdout日志文件大小,默认 50MB
stdout_logfile_backups=10                         ; stdout日志文件备份数
stdout_logfile=/data/test/logs/test.log           ; 日志输入路径

管理Supervisor进程

启动Supervisor:

sudo service supervisor start

或者:

systemctl start supervisord.service

停止Supervisor:

sudo service supervisor stop

或者:

systemctl stop supervisord.service

查看Supervisor管理的所有进程的状态:

supervisorctl status

停止某个特定的进程:

supervisorctl stop test

启动某个特定的进程:

supervisorctl start test

重启某个特定的进程:

supervisorctl restart test

重新加载Supervisor配置:

supervisorctl reread
supervisorctl update

重新启动所有由Supervisor管理的进程:

supervisorctl restart all

Supervisor图形界面

在主配置文件中添加以下内容后重启即可使用图形管理界面来管理进程,访问地址为http://IP:9001。

[inet_http_server]          ; 使用TCP socket监听端口9001,用户名admin,密码admin,请确保防火墙规则允许该端口通信。
port=0.0.0.0:9001
username=admin
password=admin

然后访问http://IP:9001即可使用图形界面进行管理。

Linux系统提供了丰富的进程查看与控制命令,包括ps、top、kill、pkill、pstree、nice和renice等,还有像Supervisor这样的高级进程管理工具,可以帮助用户更好地管理和控制系统中的进程,通过熟练掌握这些工具,系统管理员和开发人员可以更好地管理系统,及时排查故障,并保持系统的稳定性和高效性。

到此,以上就是小编对于“linux 进程工具”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

0