2011-12-29 4 views

답변

8

처음으로 cron이 작업을 한 번 시작하도록하십시오. 무한 루프에 프로그램을 넣고 각 루프가 끝날 때 1 초 동안 sleep()하십시오. C :

int main(int argc, char ** argv) { 
     while (1) { 
     // do the work 
     sleep(1000); 
     } 
    } 

그럴 수 있습니까?

+0

예. 훌륭한 솔루션. bash로 그 일을하도록 도와 주실 수 있습니까? –

+0

bash 답변을 원하면 새로운 질문을하십시오. –

+1

왜 cron에서 시작해야합니까? –

2

1 분이 입니다. 최소 시간 간격을 사용할 수 있기 때문에 cron으로 작업 할 수 없습니다. 지연 시간이 0에서 59 초인 60 개의 다른 스크립트를 실행하는 스크립트를 실행하거나 자체에서 60 번 다시 실행하는 단일 스크립트를 실행해야합니다.

하지만이 시점에서 루프에서 sleep (1)을 수행하는 cron 외부의 단일 스크립트를 실행하지 않는 것이 어떻습니까?

3

Cron은 매 순간 물건을 실행합니다. 스크립트를 사용하여

 
while : 
do 
    sleep 1 
    some_command || break 
done 

또는 1 개 라인 :

while : ; do sleep 1 ; some_command || break ; done

이 각 실행 사이에 1 초에서 기다릴 것이다, 그래서 당신의 명령을 실행하는 데 0.75 초가 걸린다면,이 스크립트는 그것을 시작된다 매 1.75 초마다.

관련 문제