查看进程名称 linux,在Linux系统服务器按名称查找进程的命令

当你的Linux系统服务器运行缓慢时,该怎么办?您可能做的第一件事是检查网络连接。然后需要查明哪些服务/软件已经变得不正常,并正在占用宝贵的系统资源。有很多方法可以做到这一点。例如,您可以输入top命令,该命令将实时列出正在运行的进程。从那里您可以找到一个进程ID并查看进程使用了多少内存。

或者,您也可以使用一些命令按名称查找进程ID (PID)。有两个命令,每个Linux管理员都应该知道的。我想演示这些命令的用法,希望您的Linux管理工作可能更容易一些。我将在Ubuntu服务器18.04上进行演示,但是这些命令在所有Linux平台上都是通用的。

一、pidof命令

pidof命令是我们首先要查看的。它能告诉我们服务的PID。这个命令可以在您的Linux服务器上直接找到,因此不需要安装任何东西。

假设您有一个LAMP服务器,而Apache表现不好。要进行故障排除,您可能需要找到Apache的PID。幸运的是,您有pidof命令,因此您可以输入:

pidof apache2

在Apache的情况下,可能会返回许多PID(如下图)。

081014a9pdz9drbhaapwjg.jpg

pidof命令显示Apache2的pid。

您现在拥有当前运行的Apache服务器的每个进程ID。当然,对于像Apache这样的进程,如果它不正常运行,您可能需要使用sudo systemctl restart apache2这样的命令进行快速重启。但是,如果服务没有对重新启动做出响应,您该怎么办?幸运的是,您有那些PID,所以您可以终止服务(使用kill PID命令,在这里PID是服务被终止的PID)。终止像Apache这样的服务应该作为最后的手段(总是从像systemctl这样的工具开始)。但拥有这些PID可以使您的工作变得更加容易。

二、pgrep命令

pgrep命令的功能与pidof类似,主要区别在于它可以基于名称或其他属性查找进程。例如,pgrep可以查找与一个组关联的pid。在Ubuntu上,大多数Apache内容倾向于附加到www-data组。使用pgrep,很容易找出与该组相关的pid。输入该命令:

pgrep - g www-data

上述命令的输出将列出属于相关组的所有PID(如下图)

081343s64oz6gmr60m660c.jpg

与www-data相关的PID

这个命令的输出可能对我们没有任何好处。毕竟,我们如何知道这些PID属于哪一个(在一个组之外)?我们可能不仅需要知道组的PID,还需要知道附加到PID的服务。要获取此信息,我们添加如下的-l选项:

pgrep - l - g www-data

现在我们看到列出的PID和服务(如下图)

081540h3lreeaapr33rmrl.jpg

您还可以使用pgrep按用户列出进程。如果您输入命令pgrep -U root,您将看到属于root用户的每个PID。如果您使用特定用户(root除外)发出相同的命令,则列表可能会少得多。例如,pgrep -U jack(在我的服务器上)返回PID:

1225

1234

1251

1352

要查找与这些pid关联的服务,请输入以下命令:

pgrep -l -U jack

现在我们看到哪些服务和PID属于用户jack(如下图)。

081830k99ms6jzng7nomak.jpg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值