sleep 명령은 백그라운드에서 실행될 때 무엇을 합니까?

sleep 명령은 백그라운드에서 실행될 때 무엇을 합니까?

이 명령을 실행하면 sleep 10터미널이 10초 동안 기다립니다. sleep터미널 운영도 마찬가지입니다. 이 작업을 수행하면 어떻게 되나요 sleep 10 &? 첫 번째 경우에는 터미널에서 실행되지만 백그라운드에서는 무엇을 하고 있나요? 특히 무엇이 sleep당신을 잠들게 하려는 걸까요?

답변1

sleep백그라운드에서 실행 되더라도 의도된 목적, 즉 스크립트 내에서 다른 작업을 지연시키려는 목적을 수행하지는 않습니다.

예:

echo "foo" && sleep 10s && echo "bar"

foo를 인쇄하고 10초 동안 기다린 다음 bar를 인쇄합니다. 두 번째는 echosleep이 종료될 때까지 기다리고 실행이 성공한 경우에만 실행을 시작합니다.

echo "foo" && sleep 10s & echo "bar"

foo, Invoke를 인쇄합니다 . 이는 대기할 프로세스가 포그라운드에 없기 때문에 sleep백그라운드로 전송되어 즉시 실행됩니다 .echo

관련 정보