때때로 나는 완료하는 데 오랜 시간이 걸리는 프로그램을 시작했지만 ( emerge
) 그것을 기다리지 않고 잠에 들어야 한다는 것을 깨달았습니다. 이걸 처음부터 알았더라면 달려갔을텐데
program; halt
그러나 이제 프로그램을 시작했는데 프로세스가 완료되면 컴퓨터가 종료되도록 "예약"하려면 어떻게 해야 합니까? Ctrl+z
그럼 괜찮나요 fg; halt
?
답변1
예, 가능합니다.
확실하지 않은 경우 다음 명령으로 테스트할 수 있습니다.
sleep 15
Ctrl+z
fg; echo "it works"
답변2
halt
또 다른 방법은 첫 번째 명령이 실행되는 동안 터미널에 입력하는 것입니다. 첫 번째 명령이 특정 시점에서 입력을 읽지 않는 한 터미널의 버퍼에 저장되고 쉘은 첫 번째 프로그램이 입력을 읽은 상태로 끝납니다.
답변3
wait
명령 사용
$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+ Done sleep 10
hello