我不知道服务的名称,但想通过检查其状态来停止服务。
例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?
如果知道服务名,我知道检查状态的命令。
我不知道服务的名称,但想通过检查其状态来停止服务。
例如,如果我想检查PostgreSQL服务是否正在运行,但我不知道服务的名称,那么我该如何检查它的状态?
如果知道服务名,我知道检查状态的命令。
当前回答
您可以使用以下命令查看所有服务的列表。
ps aux
检查您自己的服务:
ps aux | grep postgres
其他回答
run
Ps -ef | grep名称与进程相关
上面的命令将给出有关进程的所有细节,如pid,开始时间。
如果你想要所有与Java相关的进程,就给Java 或者,如果你有进程名,就写上进程名
Centos 6.10: /sbin/service serviceNAME状态
Centos 7.6和ubuntu 18.04: systemctl状态
对所有人都适用: 服务状况都
适用于Ubuntu(已检查12.04)
你可以得到所有服务的列表,用'grep'按颜色选择其中一个:
sudo service --status-all | grep postgres
如果你知道正确的服务名称,你可以使用另一种方法:
sudo service postgresql status
在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}
查找正在运行的服务的肮脏方法。(有时它是不准确的,因为一些自定义脚本没有|状态|选项)
[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...