GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Eseguire un programma Ruby all'avvio?

Ho scritto un piccolo server webSocket usando ruby. Lo eseguo dalla riga di comando usando il comando:

ruby websocket_server.rb

Questo avvierà il server e funzionerà finché non manterrò la mia connessione ssh aperta e funzionante (lo sto facendo su un server che si trova in una server farm remota, quindi nessun accesso diretto).
Mi piacerebbe capire come scrivere due script:uno che avvierà il programma ruby ​​all'avvio e l'altro che verificherà (diciamo ogni 30 minuti) se il programma è attivo e funzionante.
Come nota a margine il mio obiettivo finale è quello di avere un " pulsante” su una dashboard php per riavviare il processo se si blocca senza dover attendere il processo di verifica e riavvio (sono già in grado di controllare lo stato del processo).

Risposta accettata:

Ubuntu 14.04 usa upstart , quindi puoi scrivere un piccolo file di configurazione che dice
come vuoi che upstart gestisca il tuo servizio, che, ad esempio, chiami
“myweb”. Usando sudo crea un file chiamato /etc/init/myweb.conf (un
collegamento simbolico da lì a un file reale non funzionerà) con contenuti
qualcosa come:

description "run webSocket server when network ready"
start on static-network-up
respawn
exec ruby websocket_server.rb

Puoi provarlo con

sudo start myweb
status myweb
sudo stop myweb

Lo status comando mostrerà se il processo è ancora in esecuzione. respawn dice che
vorresti che si riavviasse automaticamente se si spegne. I comandi start, stop e status sono tutti solo link a initctl.
Vedi man initctl , man 5 init per il formato file conf e il ricettario upstart.


Ubuntu
  1. Come eseguire il programma Hadoop MapReduce su Ubuntu 16.04

  2. Come avviare il server Vnc all'avvio?

  3. Eseguire un programma Java nel backend

  4. Come faccio a far funzionare in background il mio server web Golang?

  5. Android Impossibile avviare l'emulatore:impossibile eseguire il programma

Come eseguire lo script all'avvio su Ubuntu 20.04 Focal Fossa Server/Desktop

Come eseguire lo script all'avvio su Ubuntu 22.04 Jammy Jellyfish Server/Desktop

Come eseguire Tomcat Server all'avvio su Ubuntu Server

Come eseguire programmi Java in Ubuntu

Script all'avvio?

Avvia una sessione della Console di emergenza