종료하지 않는 한 종료되지 않는 bash 스크립트를 백그라운드에서 실행하는 크론 작업을 생성해야 합니다. bash는 약 28시간 동안 계속 실행되어야 하는 프로세스를 시작한 다음 이를 종료하려면 또 다른 크론 작업이 필요합니다. 첫 번째 크론은 매일 아침 0시에 실행되어 프로세스를 시작합니다. 두 번째 크론은 오전 4시에 실행되며 전날 시작된 프로세스를 종료하고 오늘 실행 중인 프로세스를 유지해야 합니다.
내 검색에 따르면 프로세스의 pid를 파일에 저장한 다음 두 번째 cron이 이에 액세스하도록 해야 하지만 어떻게, 어디서? 크론이나 배쉬에서? bash 스크립트에 의해 시작된 프로세스는 종료될 때까지 끝나지 않는다는 점을 고려하면 후속 명령이 실행됩니까?
편집: Ipor Sircer의 솔루션은 제가 겪고 있는 특정 문제를 해결했지만 여전히 CRON이 액세스할 수 있는 다른 파일로 PID를 내보내는 방법을 알고 싶습니다.
답변1
다음 명령을 사용하면 timeout
훨씬 더 쉽습니다.
0 0 * * * timeout 28h /home/script.sh
추신. crontab에서는 전체 경로를 사용해야 합니다.