시스템화된 서비스 찾기 및 중지

1656 단어 systemdlinux
저는 업무상 가끔 캐디 서버를 사용합니다. 그것은 굉장. 살펴볼 가치가 있으며, 언젠가는 그 세부 사항에 대해 더 깊이 있는 글을 쓸 것이라고 확신합니다. 하지만 지금은 초점이 아니라 이 특정 내러티브의 대상입니다.

그래서 사용자 정의 구성으로 Caddy를 시작하려고 하면 Caddy를 실행하는 데 필요한 포트가 이미 사용 중이기 때문에 실패할 것이라는 것을 계속 발견했습니다.

편리한 CLI 도구 상자를 사용하여 약간의 조사를 통해 문제의 포트를 호그하는 프로세스(2019)를 식별합니다.

sudo netstat -nlp | grep :2019
#=>  tcp  0  0  127.0.0.1:2019  0.0.0.0:*  LISTEN  18648/caddy


그래서 캐디는 이미 실행 중입니다 ...

나는 그 과정을 시작하지 않았기 때문에 이것은 이상하다.

잠시 동안 나는 아마추어의 길을 벗어나 내 자신을 시작하기 전에 실행 중인 Caddy 프로세스를 종료했습니다.

sudo pkill caddy


하지만 우리 모두는 우리가 그보다 훨씬 더 잘할 수 있다는 것을 알고 있습니다.

왜 이런 일이 계속 발생하는지에 대한 다음 단서는 컴퓨터를 시작할 때마다 이 고스트 캐디 프로세스가 존재한다는 사실입니다. Linux에서 systemd는 부팅 후와 같이 주어진 시간에 프로세스를 시작하는 역할을 합니다. "서비스"를 통해 이를 수행합니다. 서비스가 활성화된 경우 OS 부팅 시 서비스가 실행됩니다.systemd list-unit-files --state=enabled 명령을 사용하여 현재 활성화된 모든 서비스를 찾을 수 있지만 이것은 목록의 약간의 짐승을 반환합니다. 그래서 그것을 우리의 오랜 친구fzf에게 전달해 봅시다. (grep 역시 좋은 선택이 될 것입니다).

systemd list-unit-files --state=enabled | fzf


Caddy를 입력하기 시작하면 "caddy.service enabled enabled"가 표시됩니다. 따라서 systemd disable 하기만 하면 부팅 시 서비스가 시작되지 않습니다!

systemd disable caddy.service


그리고 우리는 그것을 가지고 있습니다. 또 다른 사소한 성가심이 해결되어 문자 그대로 매일 몇 초가 절약되었습니다! 믿을 수 없는!

좋은 웹페이지 즐겨찾기