Nom : Créer un processus indépendant du shell.
Configuration requise : L’interprète de commandes Bash.
Description : Lorsqu’on lance un programme depuis le shell bash, par exemple “iceweasel”, et que l’on ferme le terminal, l’application lancée est fermée elle aussi. C’est normal puisque tout processus enfant est tué lorsque le processus parent dont il est issu est tué. Les messages d’erreur de l’application sont aussi affichés dans le terminal.
Procédure simple : Pour lancer iceweasel sur le forum debian-fr, d’habitude on fait :
Il y a deux possibilité pour lancer iceweasel depuis le shell, sans perdre le contrôle :
[code]$ nohup iceweasel http://forum.debian-fr.org/ &> /dev/null &
$ iceweasel http://forum.debian-fr.org/ &> /dev/null & disown[/code]
Procédure avancée : On va créer une fonction Bash nommée “start” qui nous permettra de lancer simplement la commande
à la place de la procédure précédente.
Pour cela il faut ajouter ceci à la fin du fichier /home//.bashrc :
function start {
nohup $@ &> /dev/null &
}
ou bien :
function start {
$@ &> /dev/null & disown
}
Merci à MisterFreez pour avoir énormément amélioré ce truc et astuce !