Linux 进程工具
在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 进程工具”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。