我不知道服务的名称,但想通过检查其状态来停止服务。
例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?
如果知道服务名,我知道检查状态的命令。
我不知道服务的名称,但想通过检查其状态来停止服务。
例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?
如果知道服务名,我知道检查状态的命令。
当前回答
最好的方法是在终端中使用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
其他回答
我没有Ubuntu的盒子,但在Red Hat Linux上,你可以通过运行以下命令查看所有正在运行的服务:
service --status-all
列表中的“+”表示服务正在运行,“-”表示服务未运行,?表示无法确定服务状态。
Centos 6.10: /sbin/service serviceNAME状态
Centos 7.6和ubuntu 18.04: systemctl状态
对所有人都适用: 服务状况都
查找正在运行的服务的肮脏方法。(有时它是不准确的,因为一些自定义脚本没有|状态|选项)
[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...
最好的方法是在终端中使用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
适用于Ubuntu(已检查12.04)
你可以得到所有服务的列表,用'grep'按颜色选择其中一个:
sudo service --status-all | grep postgres
如果你知道正确的服务名称,你可以使用另一种方法:
sudo service postgresql status