Vai al contenuto

Process control block (Unix)

Da Wikipedia, l'enciclopedia libera.
Versione del 3 mag 2008 alle 21:05 di Ianezz (discussione | contributi) (Nuova pagina: {{S|Process control block (Unix)}} Il Process control block nei sistemi Unix e Unix-like include tra le altre le seguenti informazioni. ===Attributi n...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Il Process control block nei sistemi Unix e Unix-like include tra le altre le seguenti informazioni.

Attributi non ereditati

Questi attributi non sono ereditati dai processi figli creati tramite fork()

  • PID: identifica univocamente il processo nel sistema.
  • parent parent PID: identifica il processo padre

Attributi ereditati

Questi attributi non sono ereditati dai processi figli creati tramite fork(), e solo alcuni di essi sono modficati da invocazioni di exec():

  • real UID corrente: identifica l'utente reale proprietario del processo. I processi privilegiati possono modificarselo tramite le chiamate di sistema setuid() e setreuid().
  • real GID corrente: identifica il gruppo principale reale. I processi privilegiati possono modificarselo tramite le chiamate di sistema setgid() e setregid().
  • effective UID corrente: identifica l'utente da usare ai fini dei permessi. Normalmente è identico al real UID, ma può essere diverso in caso di programmi set User ID.
  • effective GID corrente: identifica il gruppo principale da usare ai fini dei permessi. Normalmente è identico al real GID, ma può essere diverso in caso di programmi set User ID. I processi privilegiati possono modificarselo tramite le chiamate di sistema setgid() e setregid()
  • saved effective UID: è il valore dell'effective UID dopo l'ultimo caricamento di un programma tramite exec(). I processi privilegiati possono modificarselo tramite la chiamate di sistema setuid()
  • saved effective GID: è il valore dell'effective GID dopo l'ultimo caricamento di un programma tramite exec(). I processi privilegiati possono modificarselo tramite la chiamate di sistema setgid()
  • umask corrente. Tutti i processi possono modificarsela tramite la chiamata di sistema umask()
  • l'elenco dei GID supplementari (in numero dipendente dall'implementazione). I processi privilegiati possono modificarsela tramite la chiamata di sistema setgroups()
  • l'elenco dei file descriptor correntemente aperti