다른 명령이 완료된 후 실행되도록 명령을 대기시키는 방법은 무엇입니까?


9

때때로 나는 끝내기까지 시간이 오래 걸리는 프로그램을 시작한 emerge다음 ( ) 기다리지 않고 잠자리에 들어야한다는 것을 깨달았습니다. 내가 이것을 처음 알면

program; halt

그러나 프로그램을 이미 시작 했으므로 프로세스가 완료 될 때 컴퓨터를 종료하도록 "예약"하는 방법은 무엇입니까? 겠습니까 Ctrl+z다음 fg; halt확인을 할 수?

답변:


15

그렇습니다.

확실하지 않은 경우 다음을 사용하여 테스트 할 수 있습니다.

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"


2

다른 방법은 halt첫 번째 명령이 실행되는 동안 터미널에 입력 하는 것입니다. 첫 번째 명령이 어느 시점에서 입력을 읽지 않는 한 터미널의 버퍼에 저장되고 첫 번째 프로그램이 종료되면 쉘이 읽습니다.


1

wait명령 사용

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.