Forum Astuces.divers [Terminal] Lancer une appli puis se déconnecter.

Posté par  (site Web personnel) .
Étiquettes : aucune
0
30
mai
2001
Il arrive souvent d'avoir un programme, comme une compilation ou un gros calcul, qui ne nécessite plus aucune intervention après son lancement. Pour éviter de bloquer la console (ou le terminal) sur celle-ci, il existe nohup.

nohup mon appli

La sortie est redirigé vers un fichier nohup.out, et le programme est détaché du terminal. Ainsi, l'on peut se délogger de la machine et se relogger le lendemain pour prendre connaissance des résultats.
  • # Quelle différence ?

    Posté par  . Évalué à 1.

    Je ne critique en rien nohup, mais quelle est la différence avec un cmd >out.file& ?
    S'il n'y en a pas, ok, comme ça je le saurai...
    S'il y en a, ok, lesquelles, et comme ça je le saurai...
    • [^] # Re: Quelle différence ?

      Posté par  . Évalué à 1.

      Il y en a une car avec &, si tu te délogue, tu perds le processus. Ici, ce n'est pas le cas.
      • [^] # Re: Quelle différence ?

        Posté par  . Évalué à 1.

        Ça dépend du shell et de sa configuration.
        Pour les utilisateurs de zsh, la commande disown est très intéressante ...
    • [^] # Re: Quelle différence ?

      Posté par  . Évalué à 1.

      çà dépend de la conf du shell.
      nohup dit au shell de ne pas envoyer le signal SIGHUP au processus (man 7 signal).
  • # y'a aussi...

    Posté par  . Évalué à 2.

    .. l'utilitaire screen !

    apt-get install screen;
    man screen

    Pour donner une idée, j'ai ICQ qui tourne en permanence sur ma passerelle, et d'où que je sois, je me connecte en ssh dessus, puis je réattache à ma fenêtre ssh le screen où ICQ tourne... ;-)
  • # Re: Lancer une appli puis se déconnecter.

    Posté par  (site Web personnel) . Évalué à 1.

    sous hurd, meme plus besoin de screen ... HURD R0X0R
  • # Re: Lancer une appli puis se déconnecter.

    Posté par  . Évalué à 1.

    Dans le meme genre d'astuces qq'un sait comment rediriger la sortie d'une commande qui a déjà été lancée, sans nohup, et sans avoir à relancer la commande en question ?

    On rencontre parfois le problème lorsqu'on se dit : " zut j'aurais du rediriger dans un fichier..."

    J'ai pas trouvé de solution...
  • # NB...

    Posté par  . Évalué à 1.

    ...il est précisé dans la page de manuel de nohup que :

    nohup ne bascule pas automatiquement la commande exécutée en arrière-plan. Il faut le réclamer explicitement en ajoutant un `&' à la fin de la ligne de commande.
  • # Et pour eviter de se retrouver avec des fichiers nohup.out

    Posté par  . Évalué à 2.

    Et pour éviter de se retrouver avec des fichiers nohup.out dans des dizaines de repertoires : nohup &>/dev/null (si il n'y as pas de sortie le fichier nohup.out n'est pas crée)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.