我不知道服务的名称,但想通过检查其状态来停止服务。

例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?

如果知道服务名,我知道检查状态的命令。


当前回答

有一种简单的方法可以验证服务是否正在运行

systemctl status service_name

试试PostgreSQL:

systemctl status postgresql

其他回答

如果你特别寻找postgres有一个特殊的命令叫做pgrep 你可以在下面的文章中找到它的用法 https://mydbanotebook.org/post/troubleshooting-01/

本文提供了以下细节: 检查postgres服务器是否正在运行 postgres在哪里存储所有的服务器配置 如何启动/停止postgres

希望这对大家有帮助

适用于Ubuntu(已检查12.04)

你可以得到所有服务的列表,用'grep'按颜色选择其中一个:

sudo service --status-all | grep postgres

如果你知道正确的服务名称,你可以使用另一种方法:

sudo service postgresql status

Centos 6.10: /sbin/service serviceNAME状态

Centos 7.6和ubuntu 18.04: systemctl状态

对所有人都适用: 服务状况都

有一种简单的方法可以验证服务是否正在运行

systemctl status service_name

试试PostgreSQL:

systemctl status postgresql

查找正在运行的服务的肮脏方法。(有时它是不准确的,因为一些自定义脚本没有|状态|选项)

[root@server ~]# for qw in `ls /etc/init.d/*`; do  $qw status | grep -i running; done
auditd (pid  1089) is running...
crond (pid  1296) is running...
fail2ban-server (pid  1309) is running...
httpd (pid  7895) is running...
messagebus (pid  1145) is running...
mysqld (pid  1994) is running...
master (pid  1272) is running...
radiusd (pid  1712) is running...
redis-server (pid  1133) is running...
rsyslogd (pid  1109) is running...
openssh-daemon (pid  7040) is running...