우분투에서 특정 서비스가 실행되고 있는지 확인하는 방법


253

서비스 이름을 모르지만 상태를 확인하여 서비스를 중지하고 싶습니다.

예를 들어 PostgreSQL 서비스가 실행 중인지 확인하고 싶지만 서비스 이름을 모른다면 어떻게 상태를 확인할 수 있습니까?

서비스 이름을 알면 상태를 확인하는 명령을 알고 있습니다.


1
이름을 모르면 올바른 서비스인지 어떻게 알 수 있습니까? 키워드 postgres를 포함하는 이름으로 /etc/init.d/에 많은 init 스크립트를 추가 할 수 있습니다 (이것은 의미가 없지만) 중지하려는 서비스임을 어떻게 알 수 있습니까? Plz는 상황에 대한 설명을 추가합니다
Stefan

1
내가 리눅스 명령을 처음 접했을 때 @Stefan 내가 올바른 서비스 이름을 모르지만 부분적으로 서비스 이름의 일부 또는 이름을 사용하는지 알고 싶습니다
abcd

1
서비스 목록 또는 ps -ef를 사용하여 출력을 구문 분석 할 수 있습니다. 어쨌든 나는 이것이 당신 이 멈추지 만 확실 하지 않은 것으로 생각 되는 서비스를 멈추는 것이 좋은 생각 이라고 생각 하지 않습니다 . 따라서 중지하려는 시스템에서 실행중인 실제 서비스 이름으로 목록을 작성해야합니다. postgres, mysql, http와 같은 "표준"서비스 만 중지하는 것을 고려하면 서비스 이름을 쉽게 찾을 수 있습니다.
Stefan

askubuntu 그룹 확인 : askubuntu.com/questions/407075/…
svassr

답변:


438

우분투 상자는 없지만 Red Hat Linux 에서는 다음 명령을 실행하여 실행중인 모든 서비스를 볼 수 있습니다.

service --status-all

목록에서 +서비스가 실행 -중임을 나타내며 서비스가 실행 중이 아님을 ?나타내며 서비스 상태를 확인할 수 없음을 나타냅니다.


3
감사. 설명서에는 각 서비스 옆에있는 기호의 의미가 나와 있지 않습니다. "+"는 실행 중이고 "-"는 그렇지 않다는 것을 의미한다고 생각합니다. "..." 많은 옆에. +는 달리기를 의미합니까?
Oscar

89
"+"시작 "-"중지 "?" 알려지지 않은 출처
gkiko

redhat (centos)에서이 작업을 수행하는 방법
PolarisUser

14
하나의 서비스가 표시 [-] {name}되었지만 sudo service {name} status실행중인 것으로 보이는 이유가 있습니까?
마크 머피

6
sudo initctl list나중에 @linuxnewbee에서 언급했듯이 실행할 수도 있습니다 .
svassr

79

우분투 (12.04로 확인)

모든 서비스 목록을 얻고 'grep'을 사용하여 서비스 중 하나를 색상별로 선택할 수 있습니다.

sudo service --status-all | grep postgres

또는 올바른 서비스 이름을 알고있는 경우 다른 방법을 사용할 수 있습니다.

sudo service postgresql status

4
grep에 영향을 미치지 않습니다 (Ubuntu 12.04 사용).
notapatch

2
grep하는 올바른 방법은 다음과 같습니다.sudo service --status-all 2>&1 | grep postgres
Adam Chwedyk

sudo service x status보고 Active: inactive (dead)실행중인 서비스를 위해 여기에, 우분투 15.04 (생생한)
Dinei

39

ps 명령 일 수도 있습니다.

ps -ef

실행중인 모든 프로세스를 보여줍니다. 그렇다면 찾고자하는 아이디어가 있다면 grep을 사용하여 필터링하십시오.

ps -ef | grep postgres

2
프로세스 이름이 서비스 이름과 다른 경우가 있습니다.
Francisco Quintero

아마 더 나은 것입니다 pgrep -a postgres. 이것은 또한 성가신 사람들을 피합니다 grep --color=auto needle.
Pablo A


16

서비스가 실행 중인지 확인하는 간단한 방법이 있습니다

systemctl status service_name

PostgreSQL을 사용해보십시오 :

systemctl status postgresql


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

1
이것은 분명히 네트워크 서비스 인 경우에만 작동합니다.
Molomby의

2

운영

ps -ef | grep 이름 관련 프로세스

위의 명령은 프로세스에 대한 pid, 시작 시간과 같은 모든 세부 정보를 제공합니다.

모든 java realted 프로세스가 java를 주거나 프로세스 이름이있는 경우 이름을 지정하십시오.


서비스 이름이 8 자 이하가 될 때까지 작동합니다. 그렇지 않으면 목록이 잘립니다.
Tomas Kubes

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

0

centos의 경우 아래 명령이 나를 위해 일했습니다 (:

locate postgres | grep service

산출:

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

/ usr / lib / systemd / system / postgresql-9.3.service

sudo systemctl status postgresql-9.3.service

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

service를 직접 호출하는 대신 systemctl을 사용할 수 있습니다.

systemctl status/start/stop {service_name}

0

Centos 6.10의 경우 : /sbin/service serviceNAME status

Centos 7.6 및 우분투 18.04의 경우 : systemctl status NAME.service

그들 모두를 위해 작동합니다 : service --status-all


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.