init.d 스크립트가 수행하는 작업을 수행하도록 시스템을 시작하려고합니다. 수동으로 시작 또는 중지하라는 명령을받은 후 서비스 상태를 자동으로 표시합니다. 어떻게 든 가능합니까?
불행히도 systemd는 백그라운드에서 실행되기 때문에 바로 다시 팝업되며 상태를 표시하기 위해 두 번째 명령을 수행해야합니다. 시작 또는 중지가 작동했는지 또는 작동하지 않았을 수도 있습니다.
즉. 나는 노력하고 있습니다
service nginx status
내가 한 후 자동으로 실행
service nginx start
또는
service nginx restart
(또는 뇌 손상 시스템 systemctl start nginx.service
)
@Huygens는 systemd가 모든 실패를 감지 할 수 있다고 생각하지 않으며, 가장 확실한 자동 실패 또는 경고가있을 수 있습니다. 프로세스는 백그라운드에서 시작되고 systemd exit 제어는 init.d와 전혀 다르지 않습니다. PID 파일 작성과 일관되게 발생하는 것을 볼 수 있습니다. 수동 시작 또는 재시작 후 상태를 얻는 것은 systemd (및 내 질문의 포인트)에서 절대적으로 필요합니다.
—
ck_
설명 주셔서 감사합니다, 나는 여기서 뭔가를 배웠습니다! 그때이 질문에 대한 답변을 기대하고 있습니다!
—
Huygens
더 나은 시스템 구문과 달리 한 번에 여러 서비스에서 작업 할 수 없기 때문에 braindead 구문은 하나의 서비스입니다. systemctl stop service1 service2 service3
—
god
systemctl
@Huygens가 제안한 것처럼 종료 상태를 확인할 때 여전히 동일한 불일치가 표시되면 문제는 nginx.service
시작에 성공하지만 나중에 충돌 하는 것일 수 있습니다 . 저널 또는 Nginx 로그를 확인하십시오.
systemctl start nginx.service && echo SUCCESS || echo failure
?