error from Popen only when run from cron
Grant Edwards
grant.b.edwards at gmail.com
Sat Jan 27 11:04:45 EST 2018
On 2018-01-27, Larry Martell <larry.martell at gmail.com> wrote:
> I have a script that does this:
>
> subprocess.Popen(['service', 'some_service', 'status'],
> stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
>
> When I run it from the command line it works fine. When I run it from
> cron I get:
>
> subprocess.Popen(['service', 'some_service', 'status'],
> stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
> File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
> errread, errwrite)
> File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
> raise child_exception
> OSError: [Errno 2] No such file or directory
>
> Anyone have any clue as to what file it's complaining about? Or how I
> can debug this further?
Try using the complete path of the executable. Cron jobs run with a
pretty limited set of environment variables and may not have the PATH
value you expect.
--
Grant
More information about the Python-list
mailing list