프로세스가 너무 빨리 다시 생성되면 init가 프로세스를 비활성화하는 이유는 무엇입니까?

프로세스가 너무 빨리 다시 생성되면 init가 프로세스를 비활성화하는 이유는 무엇입니까?

/etc/inittab지정된 프로세스가 충돌 하면 init다음이 표시됩니다.

INIT: Id "x1" respawning too fast: disabled for 5 minutes

왜 이런 일을 하는가? 시작 시 충돌이 발생하면 이 5분 안에 무엇을 할 수 있습니까? 시작할 때 발생하지 않더라도 작업을 일시 중지하는 이유는 무엇입니까? 자원을 절약해야 할까요?

답변1

시작 직후 종료(충돌할 수 있음)하는 프로세스가 손상되어 복구해야 하기 때문입니다. 리소스를 낭비할 이유가 없습니다. 손상된 프로세스는 손상된 파일을 남기는 등 손상을 일으킬 수 있습니다.

답변2

init에 의해 시작된 프로세스는 일반적으로 구성이 변경되거나 업그레이드될 때만 다시 시작되는 수명이 긴 데몬 또는 콘솔 사용자가 로그오프할 때 다시 시작되는 로그인 프로그램으로 간주됩니다. init에 의해 시작된 프로세스가 매우 빠르게 종료되고(그리고 init에 의해 다시 생성되면) 뭔가 잘못된 것입니다. 일반적으로 프로그램이 잘못 구성되어 시작 중에 충돌이 발생합니다. 이는 수학적으로 확실하지는 않지만 좋은 경험적 방법입니다.

아무런 목적도 없는 프로그램을 시작하는 데 자원을 낭비하는 대신, init는 일정 시간이 지난 후 중지되어 관리자에게 시스템을 복구하거나 프로그램이 의존하는 하위 시스템을 온라인으로 전환할 시간을 제공합니다.

관련 정보