GNU/Linux >> Znalost Linux >  >> Ubuntu

Spustit program Ruby při spuštění?

Napsal jsem malý webSocket server pomocí ruby. Spustím jej z příkazového řádku pomocí příkazu:

ruby websocket_server.rb

Tím se server spustí a bude fungovat, dokud neudržím své ssh připojení otevřené a spuštěné (dělám to na serveru, který je ve vzdálené serverové farmě, takže žádný přímý přístup).
Rád bych pochopil jak napsat dva skripty:jeden, který spustí program ruby ​​při spuštění, a druhý, který zkontroluje (řekněme každých 30 minut), zda je program v provozu.
Jako vedlejší poznámku je mým konečným cílem mít „ tlačítko” na řídicím panelu php, aby se proces znovu spustil, pokud se zasekne, aniž byste museli čekat na proces check&restart (už jsem schopen zkontrolovat stav procesu).

Přijatá odpověď:

Ubuntu 14.04 používá upstart , takže si můžete napsat malý konfigurační soubor, který říká
jak chcete, aby upstart spravoval vaši službu, který například
pojmenujete „myweb“. Pomocí sudo vytvořte soubor s názvem /etc/init/myweb.conf (
symbolický odkaz odtud na skutečný soubor nebude fungovat) s obsahem
něco jako:

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

Můžete to vyzkoušet pomocí

sudo start myweb
status myweb
sudo stop myweb

status příkaz ukáže, zda proces stále běží. respawn říká, že
byste chtěli, aby se automaticky restartoval, pokud zemře. Příkazy start, stop a status jsou pouze odkazy na initctl.
Viz man initctl , man 5 init pro formát souboru conf a pro začínající kuchařku.


Ubuntu
  1. Jak spustit program Hadoop MapReduce na Ubuntu 16.04

  2. Spustit program Gui při spuštění?

  3. Jak spustit Vnc Server při spuštění?

  1. Spustit SQL Server na Ubuntu?

  2. Jak nainstalovat program One Gui na server Ubuntu?

  3. Jak zajistím, aby můj webový server Golang běžel na pozadí?

  1. Jak zkompilovat a spustit program C v Ubuntu

  2. Jak předem načíst program pro rychlejší start?

  3. Zastavte běh programu při startu v Linuxu