java arm start-stop-daemon angstrom-linux

start-stop-daemon y el programa java



arm angstrom-linux (2)

estás buscando una forma de correr y ser capaz de monitorearlo?

¿Has probado aún más el lote de programación?

por ejemplo

@echo off cd DirectoryOfFiles echo "Starting up..." java -Xmx512m mainFile pause

mainFile = main.java? DirectoryOfFiles = el directorio en el que tiene todos los archivos de clase, si el archivo en ejecución es el mismo, simplemente elimine esta línea

con suerte esto es lo que estás pidiendo

Me está costando muchísimo conseguir que un programa Java se inicie correctamente en un script de inicio con start-stop-daemon. Escribí el script de inicio y parece ejecutarse, pero nunca más hay un proceso que represente el programa en ejecución.

Aquí hay un fragmento de mi script de inicio

#! /bin/sh # # DAEMON="/usr/bin/java" DAEMON_ARGS="-server -cp <bunch of RMI arguments and classpath stuff> -jar <absolute path>/myprog.jar" PIDFILE="/var/run/myprog.pid" case "$1" in start) echo -n "Starting myprog" start-stop-daemon --start --pidfile "$PIDFILE" --chuid "myuser" --verbose --background --make-pidfile --startas "$DAEMON" -- $DAEMON_ARGS echo "." ;;

Cuando intento lanzarlo a través de /etc/init.d, obtengo lo siguiente:

/etc/init.d# /etc/init.d/myscript start

Iniciando myprogStarting / usr / bin / java ...

Detatching para iniciar /usr/bin/java...done.

.

Después, no hay un proceso de intérprete de Java en ejecución, ejecutando myprog.jar

Probé varias combinaciones de --exec, --start con más o menos los mismos resultados. Si pudiera obtener más visibilidad sobre lo que está sucediendo, estoy seguro de que podría resolver esto, pero no estoy seguro de cómo hacer eso.

¿Alguna sugerencia?

(Estoy ejecutando Angstrom en una plataforma ARM integrada, por lo que Java Service Wrapper no es realmente una opción viable, es decir, no creo que esté disponible para ARM)

Estoy atascado así que cualquier consejo sería muy apreciado.

Gracias.


Dos cosas para probar, primero intente eliminar --startas y use --exec en --exec lugar como --exec :

start-stop-daemon --start --pidfile "$PIDFILE" --chuid "myuser" --verbose --background --make-pidfile --exec "$DAEMON" -- $DAEMON_ARGS

En segundo lugar, ya que está utilizando --background try especificando la opción --chdir , si no lo hace, el directorio de trabajo termina siendo / .

Terminé tropezando con tu pregunta tratando de resolver mi problema que finalmente fue resuelto por --chdir , creo que también resolverá el tuyo.