103

gccを使用してコンパイルされた実行可能ファイルを1時間に1回実行するcronジョブを設定する必要があります。

rootとしてログインし、入力しましたcrontab -e

次に、以下を入力してファイルを保存しました。

0 * * * *  /path_to_executable

ただし、cronジョブは機能しません。

/...path_to_executable入力すると、セグメンテーション違反が発生することがわかります。実行可能ファイルは、それが配置されているフォルダーからのみ実行できます。この問題を解決する方法はありますか?

4

7 に答える 7

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

プログラムを実行するためにセットアップする必要がある何かがない限り、動作するはずです。

于 2010-08-13T16:31:23.240 に答える
8

これを解決するための解決策は、セグメンテーション違反が発生している理由を見つけて修正することです。

于 2010-08-20T19:52:05.030 に答える
7

@hourlyインスタントを使用することもできます0 * * * *

于 2016-12-27T09:39:34.647 に答える
5

Ubuntuを使用している場合は、、、、またはのいずれかのディレクトリにシェルスクリプトを配置でき/etc/cron.dailyます。/etc/cron.hourly/etc/cron.monthly/etc/cron.weekly

詳細については、次の投稿を確認してください:https ://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job

于 2017-02-24T19:33:05.637 に答える
2

他のディレクトリから呼び出された場合、実行可能ファイルの実行に失敗するということですか?これは、実行可能ファイルのバグです。考えられる理由の1つは、実行可能ファイルがインストールされたフォルダーからいくつかの共有ライブラリを必要とすることです。環境変数を確認できますLD_LIBRARY_PATH

于 2010-08-13T16:51:04.367 に答える
0

使用する

path_to_exe >> log_file

コマンドの出力を確認するには、エラーをリダイレクトすることもできます

path_to_exe &> log_file

また、あなたは使用することができます

crontab -l

編集内容が保存されたかどうかを確認します。

于 2010-08-13T06:07:42.557 に答える
0

C実行可能ファイルをそのように実行できなかったのでshell script、次のような単純なものを作成しました

cd /..path_to_shell_script
./c_executable_name

cronジョブリストで、シェルスクリプトを呼び出します。

于 2010-08-13T16:31:45.473 に答える