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

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

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


当前回答

Centos 6.10: /sbin/service serviceNAME状态

Centos 7.6和ubuntu 18.04: systemctl状态

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

其他回答

Centos 6.10: /sbin/service serviceNAME状态

Centos 7.6和ubuntu 18.04: systemctl状态

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

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

systemctl status service_name

试试PostgreSQL:

systemctl status postgresql

如果你运行下面的命令,你会得到一个服务列表:

sudo service --status-all

获取upstart任务列表:

sudo initctl list

也许你想要的是ps命令;

ps -ef

将显示所有正在运行的进程。然后,如果你知道你要找什么,使用grep进行筛选;

ps -ef | grep postgres

对于centos,下面的命令对我有用(:

locate postgres | grep service

输出:

/usr/lib/firewalld/services/postgresql.xml

/usr/lib/systemd/system/postgresql-9.3.service

sudo systemctl status postgresql-9.3.service