====== Restart process ====== This script restart process and send email if it failes. #!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Fri Apr 6 11:13:21 2012 @author: kpatel """ import subprocess import time import smtplib # Define you email id to notify toaddrs = "kpatel@xyz.com" # Define Source Email ID fromaddr = "cron@pqr.com" def message(msg): server = smtplib.SMTP('localhost') subject = "Subject: [CRON] Error : failed to execute Process" msg = subject + '\n' + msg print msg server.set_debuglevel(1) server.sendmail(fromaddr, toaddrs, msg) server.quit() try: args = ['/etc/init.d/postgresql', 'restart'] subprocess.check_call(args) except subprocess.CalledProcessError as prit: message(str(prit)) time.sleep(60) try: subprocess.check_call(['su', '-', 'kpatel', '-c', 'live/interchange/bin/interchange']) except subprocess.CalledProcessError as prit: message(str(prit))