postgres가 systemd에 의해 시작되는 이유를 확인하고 중지하는 방법은 무엇입니까?

postgres가 systemd에 의해 시작되는 이유를 확인하고 중지하는 방법은 무엇입니까?

/proc/PID 디렉토리를 확인했습니다.
내가 직접 시작하지 않으면 postgres와 같은 서비스가 시작되지 않도록 하고 싶습니다.
그래서 postgres가 시작된 이유를 알고 싶습니다. sudo lsof -i이전에 실행된 적이 없고 직접 시작하지 않은 경우에도 실행 중인 것을 볼 수 있습니다 .

저는 Debian10을 실행하고 있으며 이틀 전에 몇 가지 postgres 업데이트를 설치했습니다. lsof -i를 사용하여 같은 날 실행 중인 프로세스를 확인했지만 Apper의 기록에는 날짜/시간이 표시되지 않으므로(bash 기록도 표시되지 않음) 업데이트 전일 수 있으므로 업데이트 후 postgres가 자동으로 시작될 수 있습니다. 업데이트 후 자동으로 실행이 된다면 이를 방지할 수 있는 방법을 알고 싶습니다만, 그건 별개의 문제일 수도 있습니다.

여러 개의 postgres 프로세스가 있습니다. 각각에는 상위 프로세스로 또 다른 postgres 프로세스가 있습니다. 상위 PID는 1이며 시스템화되어 있습니다. 실행하면 rkhunter -c의심스러운 파일 형식에 대해 경고합니다./dev/shm/PostgreSQL.{long-number}

답변1

Postgres를 시작한 이유를 찾으려면 다음을 추적하겠습니다.상위 프로세스위로. 프로세스가 PID 1로 끝나고 해당 프로세스가 시스템에 시스템화되어 있음을 발견했으므로 systemd에 해당 장치의 상태를 알려달라고 요청한 다음 프로세스를 찾으십시오. grep을 사용하여 프로세스 이름을 찾을 수 있습니다.

$ systemctl status | grep -B3 'postgres'

세 줄로는 담당 단위를 찾을 수 없을 경우 찾을 때까지 늘립니다.

PID가 있는 경우

$ systemctl status 1024  ## example PID

그런 다음 이 명령은 systemd에게 프로세스가 속한 장치의 상태(및 이름)를 알려달라고 요청합니다.

시스템 장치의 이름을 알고 나면 다음을 실행하여 시스템 장치가 시작되지 않도록 할 수 있습니다.

# systemctl mask --now unit-name-here

...이 --now옵션은 장치를 즉시 중지하기도 합니다.

관련 정보