잠시 기다린 후 일부 작업을 실행하고 싶습니다.
저 할 수 있어요:
sleep 1000;foo-1;foo-2
내가 기대하는 것은 몇 시간을 기다리는 것인데, sleep
이는 최선의 해결책이 아닌 것 같습니다.
크론 작업을 설정하고 싶지 않습니다.
답변1
POSIX 규정:
정수 피연산자를 사용하고 허용된 값의 하위 범위를 지정하지 않는 다른 모든 유틸리티와 마찬가지로
sleep
[...]는 최대 2147483647초의 시간 요청을 처리하는 데 필요합니다.
(원천)
2147483647초는 68년 전입니다. 구현을 통해 더 많은 양을 지원할 수 있습니다. 운영 체제가 매우 모호하지 않는 한 운영 체제는 sleep
최대 약 68년 동안 안정적으로 최대 절전 모드로 유지될 것으로 예상할 수 있습니다.
운영 체제가 정말 모호하다면 어떻게 될까요? 고려하다상상의구현은 sleep
16비트 부호 있는 정수로 제한됩니다. 최대값은 32767초로 9시간을 초과합니다. 그래도 sleep
"몇 시간" 정도는 기다릴 수 있습니다.
내가 상상할 수 있는 것은 더 제한적이다 sleep
. 8비트 값은 최대 255초(부호 없는 경우) 또는 127(부호 있는 경우)초를 허용합니다. 실제로는 몇 분 밖에 걸리지 않습니다. 이렇게 제한적인 조치를 취한 사람이 있는지 의심스럽습니다 sleep
.
결론: 몇 시간을 기다리는 것이 sleep
좋은 해결책입니다. 기술적으로는 효과가 있을 것입니다.