aboutsummaryrefslogtreecommitdiff
path: root/ayatanasettings/psutil.py
diff options
context:
space:
mode:
authorRobert Tari <robert@tari.in>2020-10-29 12:41:30 +0100
committerRobert Tari <robert@tari.in>2020-10-29 12:41:30 +0100
commitb8b236024af1e9daf7251414c80339293e1b10d9 (patch)
treeda06b1ba2174c53296dce610dee23908e5a22009 /ayatanasettings/psutil.py
downloadayatana-settings-b8b236024af1e9daf7251414c80339293e1b10d9.tar.gz
ayatana-settings-b8b236024af1e9daf7251414c80339293e1b10d9.tar.bz2
ayatana-settings-b8b236024af1e9daf7251414c80339293e1b10d9.zip
Initial commit
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