Domanda

Ho ereditato un sistema java che dovrebbe essere eseguito in background su un server Linux. Le indicazioni richiedono che venga avviato java -jar start.jar . Sembra un po 'troppo fragile per i miei gusti. Mi piacerebbe che fosse effettivamente eseguito in background, idealmente avviandosi automaticamente all'avvio.

Qual è il modo migliore per raggiungere questo obiettivo? Ho esaminato l'esecuzione del sistema in un ambiente screen , che funziona bene, ma non si avvia automaticamente al riavvio del sistema.

È stato utile?

Soluzione

Puoi scrivere uno script init.d per questo! (gli script init.d vengono avviati in runlevel specifici al momento dell'avvio)

Oppure puoi avviarlo in background con & amp; alla fine del comando.

java -jar start.jar &

Che tipo di distribuzione usi? Debian?

Dai un'occhiata a: Creazione del tuo script init.d

Altri suggerimenti

Almeno su Ubuntu, inserivo questo comando nel file /etc/rc.local con un & amp; alla fine.

+1 sull'uso di uno script init.d

Dovresti anche considerare l'uso di jsvc ( http://commons.apache.org/daemon/ jsvc.html ) nello script init.d per consentire all'utente di utilizzare risorse privilegiate durante l'esecuzione del servizio come utente non privilegiato. jsvc è in bundle con almeno Debian e Ubuntu.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top