30 lines
679 B
Python
30 lines
679 B
Python
|
|
import psutil
|
||
|
|
import random
|
||
|
|
from time import sleep
|
||
|
|
|
||
|
|
|
||
|
|
def reporta(p):
|
||
|
|
binario = bin(p.pid).replace('0b', '')
|
||
|
|
return p.pid, binario, binario[0:7], len(str(p.pid)), len(p.name())
|
||
|
|
|
||
|
|
|
||
|
|
p = psutil.Process(pid=random.choice(psutil.pids()))
|
||
|
|
print('random chose', reporta(p))
|
||
|
|
|
||
|
|
|
||
|
|
while True:
|
||
|
|
sleep(1)
|
||
|
|
children = p.children()
|
||
|
|
|
||
|
|
if children:
|
||
|
|
p = psutil.Process(pid=random.choice([subp.pid
|
||
|
|
for subp in
|
||
|
|
children]))
|
||
|
|
print("\t↳", reporta(p))
|
||
|
|
|
||
|
|
else:
|
||
|
|
p = psutil.Process(pid=random.choice(psutil.pids()))
|
||
|
|
print('→', reporta(p))
|
||
|
|
|
||
|
|
|