检查特定服务是否在Ubuntu上运行

时间:2013-09-10 14:07:19

标签: linux postgresql service ubuntu-12.04

我不知道该服务的名称,但想通过检查其状态来停止该服务。例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道该服务的名称,那么我该如何查看其状态?

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

13 个答案:

答案 0 :(得分:409)

我没有Ubuntu框,但在Red Hat Linux上,您可以通过运行以下命令查看所有正在运行的服务:

service --status-all

在列表中+表示服务正在运行,-表示服务未运行,?表示无法确定服务状态。

答案 1 :(得分:70)

对于Ubuntu(以12.04检查)

您可以获取所有服务的列表,并通过颜色选择其中一个使用'grep':

sudo service --status-all | grep postgres

如果您知道正确的服务名称,您可以使用其他方式:

sudo service postgresql status

答案 2 :(得分:36)

也许你想要的是ps命令;

ps -ef

将显示正在运行的所有进程。然后,如果您对要查找的内容有所了解,请使用grep进行过滤;

ps -ef | grep postgres

答案 3 :(得分:22)

如果您运行以下命令,您将获得服务列表:

sudo service --status-all

要获取upstart作业列表,请运行以下命令:

sudo initctl list

答案 4 :(得分:10)

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

systemctl status service_name

尝试:

systemctl status postgres

答案 5 :(得分:6)

您可以使用以下命令检查所有服务的列表。

ps aux 

检查您自己的服务:

ps aux | grep postgres

答案 6 :(得分:2)

最好的方法是在终端中使用nmap工具。 nmap是一个有用的工具,用于分析系统,使用IP Address,然后显示所有活动网络services

打开terminal并使用此示例:

~$ 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

答案 7 :(得分:2)

运行

ps -ef | grep 名称与进程相关

上面的命令将提供所有细节,如pid,关于该过程的开始时间。

如果你想让所有java实现的进程给java 或者如果您有进程名称,则将名称

答案 8 :(得分:0)

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

[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...

答案 9 :(得分:0)

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

locate postgres | grep service

输出:

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

/ usr / lib中/ systemd /系统/的的PostgreSQL-9.3.service

sudo systemctl status postgresql-9.3.service

答案 10 :(得分:0)

要在Linux操作系统上检查服务的状态,请执行以下操作:

//in case of super user(admin) requires    
sudo service {service_name} status 
// in case of normal user
service {service_name} status 

停止或启动服务

// in case of admin requires
sudo service {service_name} start/stop
// in case of normal user
service {service_name} start/stop 

要获取所有服务以及PID的列表:

sudo service --status-all

您可以使用systemctl代替直接调用service:

systemctl status/start/stop {service_name}

答案 11 :(得分:0)

对于Centos 6.10: CGImage

对于Centos 7.6和ubuntu 18.04: /sbin/service serviceNAME status

适用于所有人: systemctl status NAME.service

答案 12 :(得分:0)

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