Tecnicamente, di fronte alla necessità di lasciare un processo attivo da parte di un utente che sta uscendo dalla propria sessione fino ad oggi la soluzione era quella di usareprogrammi come tmux, screen o nohup. Si usciva ed il processo rimaneva lì, indipendentemente dallo stato della sessione o della console che lo aveva lanciato.
Qualcosa oggi è cambiato. Con l'ultimo aggiornamento di sytemd, di cui abbiamo già parlato, il comportamento di default dell'init manager sarà quello di uccidere tutti i processi lanciati dalla console padre. Quindi ciaone tmux, screen, nohup o, per dire, anche autossh...
Bene, come ha preso la community questa notizia? Tutto sommato, bene. Basta leggere questo bug tracker del progetto Debian per capire come nel bilancio tra i favorevoli e gli oppositori manchino solo i morti e i feriti.
Metodi per evitare che questo nuovo comportamento di default faccia danni ne esistono, si può impostare l'opzione KillUserProcesses a no nel file /etc/systemd/logind.conf, si può compilare systemd con l'opzione --without-kill-user-processes, oppure si può impostare per gli utenti interessati il così detto lingering attraverso logind (si veda questo link per i dettagli), perciò non è necessario essere spaventati più di tanto.
Del resto Lennhart Poettering, autore di systemd ha serenamente affermato:
In my view it was actually quite strange of UNIX that it by default let arbitrary user code stay around unrestricted after logout.
Per come la vedo io è strano di Unix il fatto che per default lasci funzionare codice utente arbitrario incontrollato una volta che questi è uscito
Quindi, perché vi preoccupate?
La speranza è tutta nell'intelligenza dei maintainer dei pacchetti delle distribuzioni enterprise. Quale speranza? Chiaramente che KillUserProcesses rimanga "no"...
Leggi il contenuto originale su Mia mamma usa Linux!