Saya telah menulis server webSocket kecil menggunakan Ruby. Saya menjalankannya dari baris perintah menggunakan perintah:
ruby websocket_server.rb
Ini akan membawa server dan akan bekerja sampai saya menjaga koneksi ssh saya tetap terbuka dan berjalan (saya melakukan ini pada server yang ada di peternakan server jarak jauh sehingga tidak ada akses langsung).
Saya ingin mengerti cara menulis dua skrip:satu yang akan memulai program ruby saat startup dan yang lainnya akan memeriksa (katakanlah setiap 30 menit) apakah program aktif dan berjalan.
Sebagai tambahan, tujuan akhir saya adalah memiliki " button” pada dashboard php untuk memulai kembali proses jika hang tanpa harus menunggu proses check&restart (saya sudah bisa mengecek status proses).
Jawaban yang Diterima:
Ubuntu 14.04 menggunakan pemula , sehingga Anda dapat menulis file konfigurasi kecil yang mengatakan
bagaimana Anda ingin pemula mengelola layanan Anda, yang, misalnya, Anda
beri nama "web saya". Menggunakan sudo buat file bernama /etc/init/myweb.conf
(a
tautan simbolik dari sana ke file asli tidak akan berfungsi) dengan konten
seperti:
description "run webSocket server when network ready"
start on static-network-up
respawn
exec ruby websocket_server.rb
Anda dapat mengujinya dengan
sudo start myweb
status myweb
sudo stop myweb
status
perintah akan menunjukkan jika proses masih berjalan. respawn
mengatakan Anda
ingin memulai ulang secara otomatis jika mati. Perintah mulai, berhenti, dan status semuanya hanyalah tautan ke initctl.
Lihat man initctl
, man 5 init
untuk format file conf, dan buku masak pemula.