Processo orfanoUn processo orfano, in informatica e più specificatamente nei sistemi distribuiti, è un task che è stato invocato remotamente da un processo client il quale, immediatamente dopo l'invocazione ma prima di ricevere risposta, cessa la propria disponibilità lasciando quindi orfano il processo remoto sul server. Nei sistemi operativi, soprattutto Unix e Unix-like, il termine processo orfano indica un processo il cui padre locale è stato terminato.[1] Processi orfani in sistemi distribuitiIl caso comune di processo orfano in ambienti distribuiti si verifica durante un'invocazione remota, quando il processo client va in crash dopo aver inviato una richiesta al server, rendendo orfano il processo così avviato sul server, sprecandone di conseguenza le risorse e creando un potenziale pericolo di denial of service. Per gestire questo problema si adottano diverse tecniche:
Processi orfani nei sistemi Unix e Unix-likeNei sistemi operativi Unix e Unix-like un processo orfano viene immediatamente adottato dal processo di sistema speciale init (il cui PID è 1), che ne diviene il nuovo processo padre. Questa operazione viene chiamata re-parenting, ed avviene automaticamente a cura del kernel. La generazione di processi orfani può essere intenzionale, ed è tipica ad esempio dei demoni, i quali effettuano questa operazione al loro avvio in modo da slegare i propri figli dal particolare ambiente da cui sono avviati. Quando essa non è intenzionale, è d'uso continuare a definirli processi orfani anche dopo l'adozione da parte di init. Note
Voci correlate |