Python を使用して、OS (Ubuntu) のプロセスに関する統計 (有効期間、開始時間/終了時間など) を収集しようとしています。
タスクの 1 つ: システム内のプロセスの名前と ID を取得する関数を作成しましたが、見栄えがよくありません。
def get_processes():
p = subprocess.Popen(['ps', '-e'], stdout=subprocess.PIPE)
raw_string, e = p.communicate()
strings_arr = raw_string.split('\n')
strings_arr = strings_arr[1:]
processes_dict = {}
# Example of ps -e ansewer: 7 ? 00:00:00 watchdog/0
for string in strings_arr:
splted = string.split()
key, value = None, None
if len(splted) == 0: continue
for item in splted:#looking for process id
if item.isdigit():
key = int(item)
break
value = splted[-1] # looking for process name
processes_dict[key] = value
return processes_dict
誰かがそれを美しくしたり、より良い解決策を提案したりできますか? PS私の書き間違いで申し訳ありません。私の母国語ではない英語。