GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter sbt en tant que démon?

La réponse d'oleg-andriyanov n'a pas fonctionné dans mon cas. (processus terminé peu de temps après le lancement)

Dans un tel cas, essayez la commande de Mirko Stocker écrite en play ML ci-dessous pour une alternative.https://groups.google.com/forum/#!topic/play-framework/ZgjrPgib0-8

# screen -d -m sbt run

Cela devrait également fonctionner

sbt -Djline.terminal=jline.UnsupportedTerminal run &

source :https://github.com/sbt/sbt/issues/701


Ressemble à sbt l'entrée demandée à partir de votre terminal. S'il n'a pas vraiment besoin d'entrée (ce qui est probablement le cas lorsque vous exécutez le programme en arrière-plan), vous pouvez l'exécuter comme ceci :

sbt run </dev/null >output-file &

Voir cette réponse pour plus de détails.

MODIFIER

Ok, maintenant c'était un casse-tête. Réponse courte :exécutez sbt comme suit :

setsid nohup sbt run &

Justification :

La raison pour laquelle sbt s'arrête à l'arrivée de SIGTTOU signal. Il est livré au processus d'arrière-plan dans plusieurs cas, qui incluent la modification de la configuration du terminal . C'est notre cas car selon strace -f sbt run & , sbt fait beaucoup de magie noire sous le capot comme ceci :

[pid 16600] execve("/usr/bin/sh", ["sh", "-c", "stty -g < /dev/tty"], [/* 75 vars */] <unfinished ...>

Pour contourner ce problème, vous pouvez exécuter sbt dans une session différente pour le détacher du terminal actuel, afin qu'il n'ouvre pas /dev/tty et ne dérange pas notre terminal.


Linux
  1. Linux - Comment exécuter un chargeur de démarrage à partir de Linux ?

  2. Comment désinstaller Sbt ?

  3. Comment exécuter un script ? ?

  4. Comment exécuter chkdsk sous Windows

  5. Comment faire fonctionner le script Python en tant que service ?

Comment exécuter Windows 95 sous Linux

Comment exécuter Podman sous Windows

Comment exécuter un script Python en PHP

Comment exécuter un script bash

Comment exécuter Dolphin en tant que root ?

Comment exécuter Memtest dans Ubuntu 22.04