Ce face os.getpid() și os.getppid()
Fiecare proces are un număr unic, PID. getpid() returnează PID-ul programului curent, util în nume de fișiere temporare, jurnale sau fișiere .pid ale serviciilor. getppid() returnează PID-ul procesului care l-a pornit (de exemplu terminalul).
Ce returnează
Un întreg.
Exemple
Exemplul 1: PID-ul în jurnal
import os
print("Rulez cu PID", os.getpid(), "pornit de", os.getppid())
pid = os.fork()
if pid == 0:
print("Copil:", os.getpid(), "părinte:", os.getppid())
os._exit(0)
os.waitpid(pid, 0)
Rezultat posibil (diferă la fiecare rulare)
Rulez cu PID 48213 pornit de 47990
Copil: 48214 părinte: 48213
Greșeli frecvente
- Folosești PID-ul ca identificator permanent: după terminarea procesului, numărul poate fi refolosit.
Comenzi înrudite
os.fork() și os.register_at_fork(): Creează o copie a procesului curent; ambele continuă de la același rând.os.kill() și os.killpg(): Trimite un semnal unui proces sau unui grup de procese, de exemplu pentru a-l opri.Grupuri de procese și sesiuni: getpgid(), setpgid(), setsid(), tcgetpgrp()...: Gruparea proceselor în grupuri și sesiuni, folosită de shell-uri și servicii.