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