diff options
author | Robert Tari <robert@tari.in> | 2020-10-29 12:41:30 +0100 |
---|---|---|
committer | Robert Tari <robert@tari.in> | 2020-10-29 12:41:30 +0100 |
commit | b8b236024af1e9daf7251414c80339293e1b10d9 (patch) | |
tree | da06b1ba2174c53296dce610dee23908e5a22009 /ayatanasettings/psutil.py | |
download | ayatana-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.py | 62 |
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 |