I want to get a service status and if it's not up, to send the status (stdout) in email.
This script is scheduled to run every hour by cron.
When running manually, the following works fine:
def is_service_running(name): with open(os.devnull, 'wb') as hide_output: proc = subprocess.Popen(['service', name, 'status'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) output = proc.stdout.read() exit_code = proc.wait() return exit_code == 0, output
But when running by cron.
output is empty.
How can I capture
stdout when running by cron?