매시간 한 번씩 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
편집 내용이 저장되었는지 확인합니다.