systemctl restart 명령을 사용하여 서비스 다시 시작

Systemctl Restart Myeonglyeong Eul Sayonghayeo Seobiseu Dasi Sijag



그만큼 체계화된 Linux에서 널리 사용되는 시스템 서비스 관리자입니다. 관리하다 체계화된 서비스, systemctl 명령줄 유틸리티가 사용됩니다. 이 도구는 시스템 서비스를 다시 시작하는 데에도 사용됩니다.

Linux의 서비스는 구성 파일을 통해 관리됩니다. 서비스 구성 파일이 수정된 경우 수정 사항을 적용하려면 서비스를 다시 시작해야 합니다. 서비스를 다시 시작하면 systemd는 구성 파일을 다시 평가하고 수정 사항을 적용합니다.

이 가이드에서는 systemctl을 사용하여 Linux에서 서비스를 다시 시작하는 방법을 살펴보겠습니다.







메모: 이 가이드에는 Ubuntu 22.04에서 실행되는 명령과 지침이 포함되어 있습니다. 이 명령은 systemd 서비스 관리자와 함께 제공되는 배포판에서 문제 없이 작동합니다.



systemctl restart 명령

그만큼 재시작 명령은 기본적으로 서비스를 중지하고 다시 시작합니다. 서비스 또는 장치가 작동하지 않는 경우 재시작 명령이 작동을 시작합니다.



다시 시작 명령은 서비스에 연결된 프로세스를 제거하지 않습니다. 서비스에서 연 파일에 운영 체제가 할당한 음수가 아닌 식별자인 파일 설명자를 예로 들어 보겠습니다. 서비스를 다시 시작하면 해당 서비스에 연결된 파일 설명자는 다시 시작 프로세스 중에 그대로 유지됩니다.





서비스에 연결된 모든 프로세스를 플러시하려면 명시적으로 다음을 수행해야 합니다. 멈추다 서비스와 시작 또.

서비스를 다시 시작하는 방법

Linux에서는 다음을 사용하여 서비스를 다시 시작할 수 있습니다. sudo systemctl 명령줄 도구 재시작 옵션을 지정하고 이름을 지정합니다. 일반적인 구문은 다음과 같습니다.



sudo systemctl 재시작 [ 서비스 이름 ]

필요할 것이예요 sudo 서비스를 다시 시작할 수 있는 권한.

예를 들어, SSH 서비스.

sudo systemctl 재시작 ssh.service

여러 서비스를 다시 시작하려면 서비스 이름 뒤에 각 서비스 이름을 추가하세요. 재시작 공백으로 명령하십시오.

sudo systemctl 재시작 ssh.service smbd.service

기타 재시작 명령은 아래 표에 나와 있습니다.

재시작 시도 지정된 서비스를 중지하거나 시작하며, 서비스가 실행 중이 아니면 시작하지 않습니다.
다시 로드 또는 다시 시작 지원되는 서비스를 다시 로드하고, 서비스가 지원되지 않으면 다시 시작하고 활성화하세요.
다시 로드 또는 다시 시작 시도 지원되는 서비스를 다시 로드하고 서비스가 지원되지 않으면 활성화하지 않고 다시 시작하세요.

위의 명령에서 .서비스 확장은 선택 사항입니다.

서비스를 자동으로 다시 시작하는 방법

Linux에서는 서비스가 실패하면 체계화된 기본적으로 다시 시작했습니다. 그럼에도 불구하고 대부분의 경우 서비스가 다시 시작되는 방식을 수정해야 할 수 있습니다. 예를 들어, 맞춤형 서비스의 디버깅 과정에서 수동 조치가 필요할 수 있습니다.

시스템 단위 파일 또는 서비스 파일은 다음 위치에 있습니다. /etc/systemd/시스템 또는 /lib/systemd/시스템 주로 서비스가 어떻게 생성되는지에 따라 다릅니다. Linux에서 단위 파일을 나열하려면 다음 명령을 사용하십시오.

ㅋㅋㅋ / lib / 체계화된 / 체계

다양한 서비스의 구성 파일을 볼 수 있습니다. 열어보자 SSH.서비스 파일을 사용하여 나노 편집자.

sudo 나노 / lib / 체계화된 / 체계 / SSH.서비스

여기에서 재시작 환경. 기본적으로 다음과 같이 설정되어 있습니다. 실패시 . 서비스를 다시 시작하는 다른 옵션은 다음과 같습니다.

  • 아니요
  • 언제나
  • 성공 시
  • 실패시
  • 비정상적
  • 중단 중
  • 감시견

단위 서비스 파일의 또 다른 옵션은 다음과 같습니다. RestartSec 이는 서비스가 다시 시작될 때까지의 시간(초)을 지정하는 데 사용됩니다.

[ 서비스 ]

재시작 =항상

RestartSec = 5

이러한 지침은 부팅 시 서비스가 다시 시작되고 중단된 경우 5초 후에 다시 시작됨을 의미합니다.

설정을 수정한 후 다음 명령을 실행하여 변경 사항을 적용합니다.

sudo systemctl reload-데몬

고려해야 할 다른 중요한 설정은 다음과 같습니다. StartLimitIntervalSec 그리고 시작 제한 버스트 . 이러한 옵션은 서비스를 다시 시작하기 위한 최대 시간과 최대 재시도를 설정하는 데 유용합니다.

[ 단위 ]

StartLimitIntervalSec = 300

시작 제한 버스트 = 4

위의 지침은 300초 동안 4번의 재시도 후에도 서비스가 시작되지 않으면 systemd가 서비스 재시작 시도를 자동으로 중지함을 나타냅니다.

5초 후에 서비스가 다시 시작되는지 확인하려면 서비스의 PID와 죽이다 명령.

sudo 죽이다 -9 [ PID ]

5초 후에 서비스가 다시 시작됩니다. 사용 저널 상태를 확인하는 명령어 SSH.서비스 .

저널 -안에 SSH.서비스

종속 서비스가 다시 시작될 때 서비스를 다시 시작하는 방법

Linux에서는 많은 서비스가 상호 의존적이며 마찬가지로 종속 서비스를 다시 시작하면 해당 서비스도 다시 시작해야 합니다.

단위 서비스 파일에는 종속 서비스를 다시 시작하여 서비스를 다시 시작하는 세 가지 옵션이 있습니다.

  • 부분의
  • 바인딩 대상
  • 필요하다

이러한 옵션은 모두 동일한 작업을 수행합니다.

apparmor.service에 의존하는 ssh.service의 예를 들어보겠습니다. 필요한 액세스를 제공하는 Linux 보안 모듈. Linux에서 서비스의 종속성을 나열하려면 다음을 사용하세요. systemctl ~와 함께 목록 종속성 명령 및 서비스 이름.

systemctl 목록 종속성 ssh.service

따라서 apparmor.service를 다시 시작할 때 ssh.service를 다시 시작하려면 apparmor.service 파일의 [Unit] 섹션에 서비스 이름과 함께 PartOf, BindsTo 또는 Requires 옵션을 포함해야 합니다.

apparmor.service 파일을 엽니다.

sudo 나노 / lib / 체계화된 / 체계 / 의류.서비스

[Unit] 섹션에 다음 줄을 추가합니다.

부분의 =ssh.service

파일을 저장하고 daemon-reload 명령을 실행합니다.

sudo systemctl 데몬 다시 로드

이제 다시 시작하세요. SSH.서비스 그런 다음 의류.서비스 통나무.

당신은 의류.서비스 동시에 다시 시작되었습니다. SSH.서비스 다시 시작되었습니다.

결론

Linux에서 서비스를 다시 시작하려면 systemctl 명령은 다음과 함께 사용됩니다. 재시작 옵션. 그만큼 systemctl 시스템 서비스를 관리하는 데 사용되는 명령줄 유틸리티입니다. 그만큼 재시작 옵션은 서비스를 시작한 다음 중지하여 비활성 서비스를 활성화합니다. 그러나 다음을 사용하여 서비스를 활성화하지 않고도 서비스를 다시 시작할 수 있습니다. 재시작 시도 옵션.