포트 번호로 프로세스 ID 찾기

포트 번호로 프로세스 ID 찾기

저는 Fedora 24 서버에 Dovecot 메일 서버를 설정하려고 합니다(지금까지는 거의 성공하지 못했습니다). Dovecot을 설치하고 conf 파일을 설정했는데 모든 것이 정상입니다. 하지만 내가 실행할 때 :

systemctl restart dovecot

conf 파일을 편집한 후 다음 메시지가 나타납니다.

Job for dovecot.service failed because the control process exited with error code. See "systemctl status dovecot.service" and "journalctl -xe" for details

실행하면 systemctl status dovecot.service다른 오류가 발생했습니다.

[root@fedora app]# systemctl status dovecot.service
● dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2016-08-16 15:02:30 UTC; 37min ago
     Docs: man:dovecot(1)
           http://wiki2.dovecot.org/
  Process: 11293 ExecStart=/usr/sbin/dovecot (code=exited, status=89)
  Process: 11285 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS)

Aug 16 15:02:30 fedora dovecot[11293]: Error: service(imap-login): listen(*, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: master: Error: service(imap-login): listen(*, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: Error: service(imap-login): listen(::, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: master: Error: service(imap-login): listen(::, 993) failed: Address already in use
Aug 16 15:02:30 fedora dovecot[11293]: Fatal: Failed to start listeners
Aug 16 15:02:30 fedora dovecot[11293]: master: Fatal: Failed to start listeners
Aug 16 15:02:30 fedora systemd[1]: dovecot.service: Control process exited, code=exited status=89
Aug 16 15:02:30 fedora systemd[1]: Failed to start Dovecot IMAP/POP3 email server.
Aug 16 15:02:30 fedora systemd[1]: dovecot.service: Unit entered failed state.
Aug 16 15:02:30 fedora systemd[1]: dovecot.service: Failed with result 'exit-code'.

실행을 시도했지만 lsof -i | grep 993프로세스가 생성되지 않습니다. 이 문제를 해결하는 방법을 아시나요?

답변1

netstat많은 네트워크 관련 문제를 해결하려고 할 때 친구입니다. 사용할 수신 포트를 찾으려면netstat -tulpn | grep :<port number>

예를 들어, 포트 22에서 수신 대기 중인 PID를 찾으려면 다음을 실행합니다.

netstat -tulpn | grep :22
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN      3062/sshd

이는 pid 3062를 사용하는 sshd가 포트 22에서 수신 대기 중임을 알려줍니다.

답변2

ss포트 번호를 찾는 것보다 더 체계적이고 정확한 솔루션을 사용하고 싶을 수도 있습니다.

# ss -t -l 'sport = 22'
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port
LISTEN     0      128        *:ssh                      *:*
LISTEN     0      128       :::ssh                     :::*

관련 정보