diff --git a/dataLogger.py b/dataLogger.py index 65ecf77..00ad18f 100644 --- a/dataLogger.py +++ b/dataLogger.py @@ -9,6 +9,8 @@ from pycomm_helper.alarm import AnalogAlarm, bitAlarm import traceback import json import requests +import os +import sys from requests.packages.urllib3.exceptions import InsecureRequestWarning from requests.packages.urllib3.exceptions import InsecurePlatformWarning @@ -16,6 +18,7 @@ from requests.packages.urllib3.exceptions import InsecurePlatformWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning) requests.packages.urllib3.disable_warnings(InsecurePlatformWarning) + # DEFAULTS API_METHOD = "https" API_ADDRESS = "localhost" @@ -316,4 +319,16 @@ def main(): print("Error during loop: {}".format(e)) traceback.print_exc() if __name__ == '__main__': - main() + pid = str(os.getpid()) + pidfile = "/root/datalogger.pid" + + if os.path.isfile(pidfile): + print "%s already exists, exiting" % pidfile + sys.exit() + + try: + file(pidfile, 'w').write(pid) + main() + except IOError: + print("Unable to write the PID to {}. Running the datalogger anyway.".format(pidfile)) + main()