Linux系统进程管理教程

0
(0)

Linux系统进程管理教程

概论

Linux系统进程管理教程

在Linux系统中,进程(Process)是指正在执行的程序的实例。Linux操作系统是一个多任务系统,可以同时运行多个进程,进程之间相互独立、互不干扰。本文将介绍Linux系统的进程管理,包括如何查看进程,如何控制和管理进程。

查看进程

Linux系统有许多命令可以用来查看当前正在运行的进程。下面介绍常用的进程查看命令。

1. ps

ps命令是最常用的查看进程的命令。它的用法非常简单,只需要在终端输入:ps。这时可以得到当前用户所有进程的基本信息,包括PID进程ID、TTY终端、TIME运行时间、CMD命令行等信息。不过由于输出结果很多,一般会使用一些参数,以便过滤出需要的进程信息。

常用参数:

ps -A:列出所有进程信息,相当于ps -e

ps -ax:列出所有进程信息,包括没有控制终端的进程

ps -ef:列出所有进程信息,包括环境变量

ps -u:按用户ID和用户名来显示进程信息

ps -aux:列出当前所有进程信息,并输出较详细的信息,包括CPU利用率和内存使用率等

2. top

top命令是一个实时的动态系统监视器,可以实时地查看系统运行状态和进程信息,类似于Windows任务管理器。top命令的输出结果包含CPU利用率、内存使用率、进程数、负载等信息,可以实时更新。top命令可以按各种方式对进程进行排序,如按CPU使用率或按内存使用率等。在终端输入top即可启动top命令。

常用参数:

top -u:按用户名显示进程信息

top -d:指定top运行的时间间隔,单位为秒

top -p:只显示指定的进程信息

3. pstree

pstree命令可以生成一个进程树,显示出进程之间的关系。在终端输入pstree即可启动pstree命令。

常用参数:

pstree -a:显示完整进程路径名

pstree -p:显示进程的PID号

pstree -u:显示进程的拥有者

pstree -h:不显示处理器进程

控制进程

在Linux系统中,可以使用kill命令来控制进程。kill命令可以向进程发送不同的信号,以达到不同的目的。

1. 发送信号

kill命令的默认信号是TERM(15),会向进程发送一个终止信号,让进程结束运行。发送信号的命令格式如下:

kill -信号 进程ID

例如,发送TERM信号给进程1234:

kill -15 1234

除了TERM信号,其他常用的信号还有:

HUP 1 终端控制进程(通常是init进程)已经断开
INT 2 进程接收到中断信号
QUIT 3 进程接收到退出信号
KILL 9 强制停止进程(无法处理或无响应的进程)
TERM 15 优雅地结束进程
STOP 17 暂停进程
CONT 18 恢复暂停的进程

注:KILL信号是被强制发送的,即使进程无法处理该信号,也会被立即杀死。建议优先使用TERM信号结束进程。

2. 查找进程ID

在使用kill命令发送信号之前,需要先查找要关闭的进程的进程ID。可以使用前面介绍的ps命令或top命令查看进程ID。例如,要结束名为“firefox”的进程,可以使用以下命令来查找进程ID:

ps -ef | grep firefox

这样可以列出进程ID以及其他信息。其中第二列就是进程ID。

3. 关闭进程

一种更快速、直接的方法是使用pkill命令,它直接根据进程名关闭进程,不需要先查找进程ID。例如,关闭名为“firefox”的进程,可以使用命令:

pkill firefox

这个命令将向所有名为“firefox”的进程发送TERM信号,使其结束运行。

管理进程

在Linux系统中,可以使用systemctl命令管理和控制系统中的服务。systemctl命令可以启动、停止、重启、查看、修改等系统服务,也可以控制进程。

1. 启动服务

使用systemctl启动服务只需要执行以下命令:

systemctl start 服务名称

例如,启动mysqld服务:

systemctl start mysqld

2. 停止服务

使用systemctl停止服务只需要执行以下命令:

systemctl stop 服务名称

例如,停止mysqld服务:

systemctl stop mysqld

3. 重启服务

使用systemctl重启服务只需要执行以下命令:

systemctl restart 服务名称

例如,重启httpd服务:

systemctl restart httpd

4. 查看服务状态

使用systemctl查看服务状态只需要执行以下命令:

systemctl status 服务名称

例如,查看httpd服务状态:

systemctl status httpd

5. 启动、停止、重启服务

使用systemctl启动、停止、重启服务可以一次性完成,只需要在systemctl后接start、stop、restart即可。例如,重启httpd服务:

systemctl restart httpd

6. getService、enable等管理

使用systemctl还能够查询系统中启动了哪些服务,以及设置系统启动时哪些服务自动启动。例如,查询mysql服务是否启用,执行以下命令:

systemctl status mysql.service

输出的结果中有一行Active:active(running),表示已启动。

设置mysql服务自动启动,执行以下命令:

systemctl enable mysql.service

将mysql服务添加到开机启动列表,系统启动时将自动启用mysqld。

总结

本文介绍了Linux系统的进程管理、控制和管理,常用命令包括ps、top、kill、pstree和systemctl。通过学习这些命令,可以更高效地在Linux系统中管理进程和服务。

共计0人评分,平均0

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/9656.html

(0)
微信公众号
古哥的头像古哥管理团队
上一篇 2023年05月22日 10:45
下一篇 2023年05月22日 11:05

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号