중요한 프로세스가 중단되지 않도록 종료를 비활성화하는 방법은 무엇입니까?

중요한 프로세스가 중단되지 않도록 종료를 비활성화하는 방법은 무엇입니까?

중요한 프로세스가 실행되는 동안 재시작/종료를 비활성화하거나 일시적으로 일시 중단하는 가장 쉬운 방법은 무엇입니까? 프로세스를 완료하는 데 시간이 오래 걸리고 일시 중지/재개할 수 있는 방법이 없으므로 컴퓨터가 실행되는 동안에는 종료하지 않는 것이 좋습니다. cron에서 실행되므로 실행 중인 프로세스를 수동으로 검사하지 않으면 실행 중인지 알 수 없습니다. 감사해요.

답변1

이 문제는 systemd 를 사용하는 최신 시스템에서 해결되었습니다 systemd-inhibit. 사용 예:

systemd-inhibit --why="Doing weekly backup" bash my-backups.sh

그런 다음 사용자가 닫으려고 하면 강제로 닫히지 않는 한 닫힐 수 없습니다.

❯ systemctl poweroff
Operation inhibited by "bash my-backups.sh" (PID 2414 "systemd-inhibit", user ntrrgc),
reason is "Doing weekly backup".
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.

답변2

which shutdown종료 프로그램의 경로가 어디에 있는지 확인하려면 실행하세요 . 파일 이름을 바꿀 수 있지만 그렇게 하지 않는 것이 좋습니다.

또 다른 (더 안전한) 방법. 별칭 사용: alias shutdown=' ' 이와 같은 작업은 더 쉽게 되돌릴 수 있습니다. 모든 사용자가 닫히는 것을 방지하려면 전역적으로 별칭을 추가하세요.

답변3

미션 크리티컬 서버에서 "shutdown/reboot/poweroff/halt/hostname"과 같은 명령을 비활성화합니다.

chmod 0 /sbin/shutdown

그런 다음 사용해야 하는 경우 chmod를 다시 실행하세요 chmod 0755.

답변4

업그레이드 프로세스 중에 로컬 사용자가 랩톱을 종료하지 못하도록 하고 싶습니다. 입력 장치를 비활성화하는 것이 가장 좋은 방법입니다. 나에게는 마우스를 비활성화하는 것만으로도 충분했지만 키보드도 비활성화할 수 있습니다.

물론 이 시간 동안 컴퓨터를 사용할 수 없다는 단점이 있습니다.

Unix(X 아래)에서 키보드 및 마우스 입력 비활성화

관련 정보