aboutsummaryrefslogtreecommitdiff
path: root/ayatanasettings/psutil.py
diff options
context:
space:
mode:
Diffstat (limited to 'ayatanasettings/psutil.py')
-rw-r--r--ayatanasettings/psutil.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/ayatanasettings/psutil.py b/ayatanasettings/psutil.py
new file mode 100644
index 0000000..acdbe67
--- /dev/null
+++ b/ayatanasettings/psutil.py
@@ -0,0 +1,62 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import psutil
+import os
+from .appdata import APPNAME
+
+def isRunning():
+
+ for pProc in psutil.process_iter():
+
+ sName = pProc.name
+
+ if not isinstance(sName, str):
+
+ sName = pProc.name()
+
+ if sName == 'python3' or sName == 'python':
+
+ lCmdLine = pProc.cmdline
+
+ if not isinstance(lCmdLine, list):
+
+ lCmdLine = pProc.cmdline()
+
+ for sCmd in lCmdLine:
+
+ if sCmd.endswith(APPNAME) and pProc.pid != os.getpid():
+
+ return True
+
+ elif sName.endswith(APPNAME) and pProc.pid != os.getpid():
+
+ return True
+
+ return False
+
+def isSystemd():
+
+ for pProc in psutil.process_iter():
+
+ sName = pProc.name
+
+ if not isinstance(sName, str):
+
+ sName = pProc.name()
+
+ if sName == 'systemd':
+
+ lCmdLine = pProc.cmdline
+
+ if not isinstance(lCmdLine, list):
+
+ lCmdLine = pProc.cmdline()
+
+ for sCmd in lCmdLine:
+
+ if sCmd == '--user':
+
+ return True
+
+ return False