GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar sbt como demonio?

La respuesta de oleg-andriyanov no funcionó en mi caso (el proceso finalizó poco después del lanzamiento)

En tal caso, pruebe el comando de Mirko Stocker escrito en play ML a continuación para obtener una alternativa. https://groups.google.com/forum/#!topic/play-framework/ZgjrPgib0-8

# screen -d -m sbt run

Esto también debería funcionar

sbt -Djline.terminal=jline.UnsupportedTerminal run &

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


Se parece a sbt entrada solicitada desde su terminal. Si realmente no necesita entrada (que probablemente sea el caso cuando ejecuta el programa en segundo plano), puede ejecutarlo así:

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

Vea esta respuesta para más detalles.

EDITAR

Ok, ahora eso fue un rompecabezas. Respuesta corta:ejecuta sbt de la siguiente manera:

setsid nohup sbt run &

Justificación:

La razón por la que sbt las paradas son la llegada de SIGTTOU señal. Se entrega al proceso en segundo plano en varios casos, que incluyen modificación de la configuración del terminal . Este es nuestro caso porque según strace -f sbt run & , sbt hace mucha magia negra debajo del capó como este:

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

Para solucionar esto, puede ejecutar sbt en una sesión diferente para separarlo de la terminal actual, de modo que no abra /dev/tty y se meta con nuestra terminal.


Linux
  1. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  2. Cómo ejecutar chkdsk en Windows

  3. ¿Cómo puedo ejecutar un script de Perl como un demonio del sistema en Linux?

  4. Cómo hacer que un script de Python se ejecute como un servicio o demonio en Linux

  5. ¿Cómo hacer que el script de Python se ejecute como servicio?

Cómo ejecutar Windows 95 en Linux

Cómo ejecutar Podman en Windows

Cómo ejecutar un script de Python en PHP

Cómo ejecutar un script Bash

¿Cómo ejecutar Dolphin como root?

Cómo ejecutar Memtest en Ubuntu 22.04