python - 在 Raspi 上从 cron 运行时测试的 python 程序失败

标签 python linux python-2.7 cron popen

我在 RASP PI 2B [Jessie lite] 上有一个 python 程序,它从终端命令行运行得很好。但是,当尝试从 cron 运行时,它会失败,如下所述。我已经设置了 mta 和日志记录。

来自系统日志:

Jan 20 15:10:01 carlton CRON[2189]:
(pi) CMD (python amr_water_r9c.py carl1022_104 1541513276 > $HOME/log/logfile 2>&1)

python 程序使用 POPEN 和

启动两个任务

第一个任务开始ok

proc1=subprocess.Popen(['rtl_tcp'],shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)

第二个任务

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' ]  

权限是:

pi@carlton:~/gopath/bin $ ls -l
-rwxr-xr-x 1 pi pi 4079128 Jan 18 16:42 rtlamr

pi@carlton:~/data $ ls -l
-rw-rw-rw- 1 pi pi 78 Jan 20 14:03 elecamr
pi@carlton:~/log $ ls -l
-rw-rw-rw- 1 pi pi 483 Jan 20 15:10 logfile

非常感谢任何关于正在发生的事情的线索 约翰

最佳答案

cron 作业通常在不同的环境下运行。例如,PATH 可能未设置为您预期的值。

关于python - 在 Raspi 上从 cron 运行时测试的 python 程序失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41771884/

相关文章:

python - 解决 "Number of subsets without consecutive numbers"时出现OverFlowError

python - 在Linux上通过USB连接时如何从HID识别键盘

mysql - 如何解决 ubuntu 14.04 安装 mysql-server 时未满足的依赖关系

linux - 如何编译静态链接的go程序(1.3)?

pandas - 如何使用 Python Pandas 执行三变量相关

python - 如何通过python命令使用python2.7?

Python zip 和 itertools

python - 使用 Numpy 进行最大池化反向传播

python - PyInstaller,使模块像普通 Python 一样不可导入

c - Qemu: fatal: Lockup: cant escalate 3 to Hardfault (Current Priority -1) 错误-Core Dumped