2017-01-20 24 views
0

端末コマンドラインからうまく動作するRASP PI 2B [Jessie lite]にPythonプログラムがあります。しかし、cronから実行しようとすると、以下で説明するように失敗します。私はmtaとロギングをセットアップしました。 syslogのからRaspiでcronを実行するとpythonプログラムが失敗する


(PI)CMD(パイソンamr_water_r9c.py carl1022_104 1541513276>の$ HOME /ログ/ログファイル2> & 1:

1月20日午後03時10分01秒CRON [2189]カールトン)

Pythonプログラムが

とPOPENを使用して2つのタスクを起動する最初の作業は

[OK]を起動します
proc1=subprocess.Popen(['rtl_tcp'],shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE) 

第2のタスク

proc2=subprocess.Popen(arg_rtlamr) 

結果で:

Traceback (most recent call last): 
    File "amr_water_r9c.py", line 153, in <module> 
    main() 
    File "amr_water_r9c.py", line 148, in main 
    get_data() 
    File "amr_water_r9c.py", line 99, in get_data 
    proc2=subprocess.Popen(arg_rtlamr)   
    File "/usr/lib/python2.7/subprocess.py", line 710, in __init__ 
    errread, errwrite) 
    File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child 
    raise child_exception 
OSError: [Errno 2] No such file or directory 

arg_rtlamrは以下のように定義される:

= ['rtlamr','-format=csv', '-unique=true', \ 
    '-duration=1m',\ 
    '-msgtype='+msgtype,'-filterid='+meter_num , \ 
    ' > $HOME/data/elecamr' ] 

権限がある:

[email protected]:~/gopath/bin $ ls -l 
-rwxr-xr-x 1 pi pi 4079128 Jan 18 16:42 rtlamr 

[email protected]:~/data $ ls -l 
-rw-rw-rw- 1 pi pi 78 Jan 20 14:03 elecamr 
[email protected]:~/log $ ls -l 
-rw-rw-rw- 1 pi pi 483 Jan 20 15:10 logfile 

が大幅通常、異なる環境下で実行されている ジョン

答えて

0

cronジョブで何が起こっているかについてどのような手掛かりを感謝しています。たとえば、PATHが期待どおりの値に設定されていない可能性があります。

+0

thnaksが最終的にそれを理解しました。パスを指定せずに最初のPOPENの作業を見て誤解されましたが、それはapt-get installでした。ここで、2番目のインストールはpiへのgolangインストールと.bashrcのパスです。あなたの助けに感謝 – john

関連する問題