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

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

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


当前回答

在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}

其他回答

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

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

ps aux 

检查您自己的服务:

ps aux | grep postgres

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

systemctl status service_name

试试PostgreSQL:

systemctl status postgresql

run

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

上面的命令将给出有关进程的所有细节,如pid,开始时间。

如果你想要所有与Java相关的进程,就给Java 或者,如果你有进程名,就写上进程名

在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}