116 votes

Commandes shell asynchrones

Honnêtement, je ne peux pas croire que je ne trouve pas de solution à ce problème en ligne. J'ai croisé plusieurs choses qui semblent similaires, mais rien qui fait vraiment ce que je veux ...

J'essaie d'utiliser un script shell pour lancer une commande. Je ne me soucie pas si / quand / comment / pourquoi ça se termine. Je veux que le processus commence et s'exécute, mais je veux pouvoir retourner immédiatement à ma coquille ...

J'espère que c'est assez clair, je manque probablement juste quelque chose d'incroyablement stupide

131voto

Carl Norum Points 114072

Vous pouvez simplement exécuter le script en arrière-plan:

 $ myscript &
 

Notez que cela diffère de l'insertion de & dans votre script, ce qui ne fera probablement pas ce que vous voulez.

47voto

Steve B. Points 23227
 nohup cmd
 

ne raccroche pas lorsque vous fermez le terminal. la sortie par défaut va à nohup.out

Vous pouvez combiner cela avec la mise en arrière-plan,

 nohup cmd &
 

et se débarrasser de la sortie,

 nohup cmd > /dev/null 2>&1 &
 

vous pouvez aussi disown une commande. type cmd , Ctrl-Z , bg , disown

29voto

pajton Points 7374

Alternativement, une fois que vous avez lancé le programme, vous pouvez appuyer sur Ctrl-Z, ce qui arrête votre programme et tapez

bg

qui met votre dernier programme arrêté en arrière-plan. (Utile si vous avez commencé quelque chose sans '&' et que vous le voulez toujours dans le backgroung sans le redémarrer)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X