2010-12-20 10 views
2

私は別のpythonスクリプトを実行するpythonスクリプトを持っています。 '他のスクリプト'(実行されているスクリプト)は〜45分かかります。PythonスクリプトがCron経由で機能しない?

「実行」スクリプトをUbuntuのシェルから実行すると、すべてが完全に機能します。

私は '実行' pythonスクリプトを実行するためにcronにエントリを追加しました。最初に実行するようだが、このプログラムは、数秒後に終了します


[email protected]:~/REMOTE_CONTROL$ ps aux | grep python 
user  1603 0.0 1.4 31504 15184 ?  S 22:50 0:00 python /usr/share/system-config-printer/applet.py 

root  1714 0.0 0.7 13672 8012 ?  S 22:51 0:00 /usr/bin/python /usr/lib/system-service/system-service-d 

**user  7956 109 1.0 14380 10692 ?  R 23:48 0:01 python /media/READ_ONLY/DEVELOPER/COMPOSITE/CURRENT/DataLoader.py** 

user  8029 0.0 0.0 3320 788 pts/1 S+ 23:48 0:00 grep --color=auto python 
[email protected]:~/REMOTE_CONTROL$ ps aux | grep python 

user  1603 0.0 1.4 31504 15184 ?  S 22:50 0:00 python /usr/share/system-config-printer/applet.py 

root  1714 0.0 0.7 13672 8012 ?  S 22:51 0:00 /usr/bin/python /usr/lib/system-service/system-service-d 

**user  7956 100 1.1 15448 11900 ?  R 23:48 0:07 python /media/READ_ONLY/DEVELOPER/COMPOSITE/CURRENT/DataLoader.py** 

user  8033 0.0 0.0 3320 788 pts/1 S+ 23:48 0:00 grep --color=auto python 
[email protected]:~/REMOTE_CONTROL$ ps aux | grep python 

user  1603 0.0 1.4 31504 15184 ?  S 22:50 0:00 python /usr/share/system-config-printer/applet.py 

root  1714 0.0 0.7 13672 8012 ?  S 22:51 0:00 /usr/bin/python /usr/lib/system-service/system-service-d 

**user  7956 97.2 1.2 15992 12412 ?  R 23:48 0:11 python /media/READ_ONLY/DEVELOPER/COMPOSITE/CURRENT/DataLoader.py** 

user  8035 0.0 0.0 3320 792 pts/1 S+ 23:48 0:00 grep --color=auto python 
[email protected]:~/REMOTE_CONTROL$ ps aux | grep python 

user  1603 0.0 1.4 31504 15184 ?  S 22:50 0:00 python /usr/share/system-config-printer/applet.py 

root  1714 0.0 0.7 13672 8012 ?  S 22:51 0:00 /usr/bin/python /usr/lib/system-service/system-service-d 

user  8037 0.0 0.0 3320 792 pts/1 S+ 23:48 0:00 grep --color=auto python 

任意のアイデアは、私が何を欠落しているのでしょうか?私は「実行」スクリプトによってトリガされているスクリプトを交換し、それだけで次の処理を行い、簡単なスクリプトを呼び出す持ってみました:

while(1): 

....print "hi" 

をし、それはまだ動作しません。

アイデア?ありがとう。

+2

pythonスクリプトとcronファイルをここに投稿できますか? – number5

+0

また、エラーがあるかどうかを確認するためにログをチェックしてください(そしてエラーメッセージを投稿してください) –

+2

そして、(a)あなたのcronエントリが 'python'を呼び出すか、または正しいシバンが存在することを確認してください。 (b)許可が正しい。何が間違っているのかを説明するために 'logging'を使ってみることもできます。 –

答えて

8

(私はUbuntuの10.04 LTS使用しています)

は、通常はcronから物事を実行しようとしたときに作られたいくつかの一般的な誤解があります。

  • セッションはありません。セッションが必要なコードがある場合は、追加のセットアップを行う必要があります。
  • PATHとその他の環境変数は、ユーザーセッションとcron実行環境でほとんど常に異なります。

cronが失敗すると、デフォルトでメールを送信しようとします。あなたのローカルメールボックスまたはキュー(mtaがダウンしている場合)でエラーを調べることができます。

+0

ありがとうございます。私はEvolutionで定義された電子メールアカウントを持っています。しかし、私は 'cron'から電子メールを受け取ったことはありません - どうすれば設定できますか?また、「mta is down」とはどういう意味ですか?あなたから学ぶのが楽しいです。ありがとうございました。 – user3262424

+2

システムで "man"コマンドを使用することをお勧めします。人間のcrontab;男5 crontab;人間のcron;男8 cron。これらのコマンドは、cronが何をしているのか、どの設定オプションがあなたに公開されているのかを理解するのに役立ちます。 MTAはメール転送エージェントを表します。 Googleは、MTAについて知るためのあなたの友人です。 – dietbuddha

関連する問題