[c] 매시간 실행 파일을 실행하도록 크론 작업을 설정하는 방법은 무엇입니까?

매시간 한 번씩 gcc를 사용하여 컴파일 된 실행 파일을 실행하는 cron 작업을 설정해야합니다.

루트로 로그인하고 입력했습니다. crontab -e

그런 다음 다음을 입력하고 파일을 저장했습니다.

0 * * * *  /path_to_executable

그러나 cron 작업은 작동하지 않습니다.

입력 할 때 /...path_to_executable세그멘테이션 오류가 발생합니다. 내가 위치한 폴더에서만 실행 파일을 실행할 수 있습니다.이 문제를 해결할 수있는 방법이 있습니까?



답변

0 * * * * cd folder_containing_exe && ./exe_name

프로그램을 실행하기 위해 설정해야 할 다른 것이 없으면 작동합니다.


답변

이를 해결하는 해결책은 분할 오류가 발생하는 이유를 찾아서 수정하는 것입니다.


답변

@hourly인스턴트를 사용할 수도 있습니다.0 * * * *


답변

다른 디렉토리에서 호출하면 실행 파일이 실행되지 않는다는 의미입니까? 이것은 실행 파일의 버그입니다. 한 가지 잠재적 인 이유는 실행 파일에 설치된 폴더의 일부 공유 라이브러리가 필요하기 때문일 수 있습니다. 환경 변수를 확인할 수 있습니다.LD_LIBRARY_PATH


답변

당신이 우분투를 사용하는 경우, 당신은이 폴더 중 하나에 쉘 스크립트를 넣을 수 있습니다 : /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly또는 /etc/cron.weekly.

자세한 내용은 /ubuntu/2368/how-do-i-set-up-a-cron-job 게시물을 확인 하십시오.


답변

그런 식으로 C실행 파일 을 실행할 수 없었기 때문에 shell script다음과 같은 간단한 내용 을 작성했습니다.

cd /..path_to_shell_script
./c_executable_name

cron 작업 목록에서 쉘 스크립트를 호출합니다.


답변

사용하다

path_to_exe >> log_file

명령의 출력을 보려면 오류를

path_to_exe &> log_file

또한 사용할 수 있습니다

crontab -l

편집 내용이 저장되었는지 확인합니다.