diff options
author | Stany MARCEL <stanypub@gmail.com> | 2016-11-23 00:56:57 +0300 |
---|---|---|
committer | Stany MARCEL <stanypub@gmail.com> | 2016-11-23 01:00:55 +0300 |
commit | 7ba1740349e706f3732c6cd85fb612cdf22f8977 (patch) | |
tree | 886c76dcc38f8fdcae1f812172827b57ba87369a | |
parent | e9b6cee25313881e5e637f67bff2d10a2d1bde8f (diff) |
Verify if steam client running before running (to be improved)
Signed-off-by: Stany MARCEL <stanypub@gmail.com>
-rwxr-xr-x | setup.py | 2 | ||||
-rw-r--r-- | src/daemon.py | 13 |
2 files changed, 10 insertions, 5 deletions
@@ -6,7 +6,7 @@ from setuptools import setup, Extension uinput = Extension('libuinput', sources = ['src/uinput.c']) -deps = ['libusb1'] +deps = ['libusb1', 'psutil'] if sys.version_info < (3,4): deps.append('enum34') diff --git a/src/daemon.py b/src/daemon.py index 0535ea0..029f360 100644 --- a/src/daemon.py +++ b/src/daemon.py @@ -9,6 +9,7 @@ import time import atexit import signal import syslog +import psutil class Daemon(object): """A generic daemon class. @@ -89,10 +90,14 @@ class Daemon(object): self.daemonize() syslog.syslog(syslog.LOG_INFO, '{}: started'.format(os.path.basename(sys.argv[0]))) while True: - try: - self.run() - except Exception as e: # pylint: disable=W0703 - syslog.syslog(syslog.LOG_ERR, '{}: {!s}'.format(os.path.basename(sys.argv[0]), e)) + # look if steam is running + if len([p for p in psutil.process_iter() if p.name() == 'steam']) == 0: + try: + self.run() + except Exception as e: # pylint: disable=W0703 + syslog.syslog(syslog.LOG_ERR, '{}: {!s}'.format(os.path.basename(sys.argv[0]), e)) + else: + syslog.syslog(syslog.LOG_INFO, '{}: steam client is runing'.format(os.path.basename(sys.argv[0]))) time.sleep(2) def stop(self): |