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

例如,如果我想检查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状态

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

最好的方法是在终端中使用nmap工具。 nmap是一个有用的工具,它可以分析一个up系统,使用它的IP地址,然后显示所有激活的网络服务。

打开终端和使用本例:

~$ nmap 192.168.1.3/24

Starting Nmap 5.21 ( http://nmap.org ) at 2016-05-16 22:49 IRDT
Nmap scan report for 192.168.1.3
Host is up (0.00020s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
23/tcp   open  telnet
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3389/tcp open  ms-term-serv
3689/tcp open  rendezvous

如果你特别寻找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

基于类似主题的回答https://askubuntu.com/a/58406我更喜欢:/etc/init.d / postgres状态