我不知道服务的名称,但想通过检查其状态来停止服务。
例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?
如果知道服务名,我知道检查状态的命令。
我不知道服务的名称,但想通过检查其状态来停止服务。
例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?
如果知道服务名,我知道检查状态的命令。
当前回答
有一种简单的方法可以验证服务是否正在运行
systemctl status service_name
试试PostgreSQL:
systemctl status postgresql
其他回答
如果你特别寻找postgres有一个特殊的命令叫做pgrep 你可以在下面的文章中找到它的用法 https://mydbanotebook.org/post/troubleshooting-01/
本文提供了以下细节: 检查postgres服务器是否正在运行 postgres在哪里存储所有的服务器配置 如何启动/停止postgres
希望这对大家有帮助
基于类似主题的回答https://askubuntu.com/a/58406我更喜欢:/etc/init.d / postgres状态
也许你想要的是ps命令;
ps -ef
将显示所有正在运行的进程。然后,如果你知道你要找什么,使用grep进行筛选;
ps -ef | grep postgres
如果你运行下面的命令,你会得到一个服务列表:
sudo service --status-all
获取upstart任务列表:
sudo initctl list
查找正在运行的服务的肮脏方法。(有时它是不准确的,因为一些自定义脚本没有|状态|选项)
[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...