GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Exécuter un programme Ruby au démarrage ?

J'ai écrit un petit serveur webSocket en utilisant ruby. Je le lance depuis la ligne de commande en utilisant la commande :

ruby websocket_server.rb

Cela mettra le serveur en place et fonctionnera jusqu'à ce que je garde ma connexion ssh ouverte et en cours d'exécution (je le fais sur un serveur qui se trouve dans une batterie de serveurs distante, donc pas d'accès direct).
J'aimerais comprendre comment écrire deux scripts :l'un qui démarrera le programme ruby ​​au démarrage et l'autre qui vérifiera (disons toutes les 30 minutes) si le programme est opérationnel.
En passant, mon objectif final est d'avoir un " bouton" sur un tableau de bord php pour relancer le processus s'il se bloque sans avoir à attendre le processus de vérification et de redémarrage (je suis déjà en mesure de vérifier l'état du processus).

Réponse acceptée :

Ubuntu 14.04 utilise upstart , vous pouvez donc écrire un petit fichier de configuration indiquant
comment vous voulez qu'upstart gère votre service, que vous
nommez par exemple "myweb". En utilisant sudo, créez un fichier appelé /etc/init/myweb.conf (un
lien symbolique de là vers un vrai fichier ne fonctionnera pas) avec un contenu
quelque chose comme :

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

Vous pouvez tester cela avec

sudo start myweb
status myweb
sudo stop myweb

Le status La commande indiquera si le processus est toujours en cours d'exécution. respawn dit que vous
voudriez qu'il redémarre automatiquement s'il meurt. Les commandes start, stop et status ne sont que des liens vers initctl.
Voir man initctl , man 5 init pour le format de fichier conf et le livre de recettes upstart.


Ubuntu
  1. Comment exécuter le programme Hadoop MapReduce sur Ubuntu 16.04

  2. Impossible de démarrer le serveur Vino Vnc au démarrage ?

  3. Comment installer un programme Gui sur Ubuntu Server ?

  4. Comment puis-je faire fonctionner mon serveur Web Golang en arrière-plan ?

  5. Android Échec du démarrage de l'émulateur :impossible d'exécuter le programme

Comment exécuter un script au démarrage sur Ubuntu 20.04 Focal Fossa Server/Desktop

Comment exécuter un script au démarrage sur Ubuntu 22.04 Jammy Jellyfish Server/Desktop

Comment exécuter le serveur Tomcat au démarrage sur le serveur Ubuntu

Comment exécuter des programmes Java dans Ubuntu

Script au démarrage ?

Arrêter le programme en cours d'exécution au démarrage sous Linux