작업이 완료된 후 컴퓨터를 종료하는 방법은 무엇입니까?

작업이 완료된 후 컴퓨터를 종료하는 방법은 무엇입니까?

저는 보통 학교에 가기 전에 다운로드를 시작합니다.
특정 작업을 완료한 후 필요한 저장을 자동으로 수행하고 컴퓨터를 종료하려면 어떤 명령을 사용해야 합니까?
(예를 들어 업데이트를 설치한 후 또는 대용량 파일을 다운로드한 후)

나는 또한 다음 위치에 교차 게시했습니다.아쿠벤투.

답변1

시작하는 임무에 따라 다릅니다. 명령줄 도구인 경우 간단히 halt다음을 실행할 수 있습니다 shutdown -h now.

  1. wget http://..../somelargefile; halt- halt나중에 실행될 예정입니다.wget

  2. wget http://..../somelargefile && halt- 오류가 반환되지 않으면 halt실행wget

  3. wget http://..../somelargefile || halt- 오류가 반환되면 halt실행wget

대안은 다음을 사용하는 것입니다 kshutdown. - 이 응용 프로그램에서는 수행해야 할 작업(다시 시작/종료/최대 절전 모드/등 또는 명령 실행)과 시기(잠시 후 또는 다른 응용 프로그램이 종료될 때)를 지정할 수 있습니다. 이 도구를 사용하려면 올바른 프로세스를 선택해야 합니다. 일부 업데이트 유틸리티는 여러 하위 프로세스를 시작합니다.

K 셧다운

답변2

각 프로세스에는 프로세스 ID(pid)에 따라 이름이 지정된 파일 시스템의 디렉터리가 있습니다 proc. 따라서 디렉터리가 존재하는지 반복적으로 확인하여 특정 프로세스가 종료될 때까지 기다릴 수 있습니다.

이를 사용하여 프로세스가 종료된 후 다음과 같이 시스템 종료를 수행할 수 있습니다(2296을 기다리고 싶은 pid로 바꾸십시오).

su -c 'while [[ -d /proc/2296 ]]; do sleep 1; done; poweroff'

이점:

  • 쉘 명령을 닫은 후 닫을지 여부를 결정할 수 있습니다.
  • 종료는 루트로 실행되며, 대기 중인 명령이 반드시 루트로 실행될 필요는 없습니다(사후 비밀번호 프롬프트를 확인할 필요가 없음 sudo).

결점:

  • 프로세스가 종료되면 OS는 해당 두 번째(경합 조건) 내에 새로 생성된 프로세스에 대해 동일한 PID를 재사용합니다. 따라서 이 새 프로세스가 종료될 때까지 계속 기다리게 됩니다.

답변3

시작된 프로세스를 모니터링하려면 다음을 수행하십시오.:

# while pgrep &>/dev/null -f process_name; do sleep 60; done; shutdown -h now

답변4

GUI를 통해 이 작업을 수행하는 Sentinella라는 애플리케이션이 있습니다. 보초

설치하세요:

sudo aptitude update
sudo aptitude install sentinella

관련 정보