Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/landscape/sysinfo/ |
Upload File : |
import os from twisted.internet.defer import succeed class Processes: def __init__(self, proc_dir="/proc"): self._proc_dir = proc_dir def register(self, sysinfo): self._sysinfo = sysinfo def run(self): num_processes = 0 num_zombies = 0 for pid in os.listdir(self._proc_dir): if not pid.isdigit(): continue status_path = os.path.join(self._proc_dir, pid, "stat") try: with open(status_path, "rb") as fd: data = fd.read() except IOError: continue num_processes += 1 if b"Z" == data.split(b" ", 3)[2]: num_zombies += 1 if num_zombies: if num_zombies == 1: msg = "There is 1 zombie process." else: msg = f"There are {num_zombies:d} zombie processes." self._sysinfo.add_note(msg) self._sysinfo.add_header("Processes", str(num_processes)) return succeed(None)