Periksa bagaimana proses saya terbunuh


1

Saya sedang menjalankan server Node.js sederhana dengan express.js pada Raspberry Pi saya dengan Debian diinstal di atasnya. Semuanya berfungsi dengan baik, tetapi setiap pagi saya bangun untuk melihat server saya tidak berjalan lagi (proses server saya mulai dengan node main.js).

Dugaan pertama saya adalah, bahwa Pi memiliki semacam mode tidur, yang masuk setelah beberapa jam tanpa lalu lintas / etc, dan yang dimatikan server, tapi saya juga menjalankan dydns-client, yang masih menyala setiap pagi .

Apakah ada cara untuk melacak proses setelah saya memulai untuk memeriksa besok pagi, apa yang membunuh proses saya atau mengapa itu berakhir?

Servernya sendiri terlihat sangat sederhana dan saya tidak berpikir ada semacam shutdown otomatis yang saya lewatkan. Ini kode yang saya pakai.

var express = require('express');
var path    = require('path');

var server  = express();
server.use(express.static(path.join(__dirname, 'public')));

server.listen(1337);
console.log("Server listening (PORT: " + 1337 + ") ...");

Tahu apa yang harus dilakukan, untuk menjaga server tetap berjalan / mencari tahu apa alasannya?

Jawaban:


0

Anda dapat menggunakan beberapa alat manajemen proses seperti pm2 atau selamanya .

Jika Anda menggunakan PM2, Anda bisa melakukannya pm2 start main.js. Ini akan memonitor dan memulai kembali proses jika terbunuh. Anda dapat menemukan alasan kesalahan dalam log pm2 yang terletak di dalam ~ / .pm2

Anda dapat menjalankan pm2 startupuntuk menghasilkan skrip init yang memungkinkan pm2 dijalankan saat boot.

pm2 save menyimpan daftar proses saat ini sehingga dapat dijalankan pada reboot sistem.


Terima kasih atas jawabannya forevertampaknya cukup menarik, tetapi saya benar-benar menerima posting ini , yang menyelesaikan masalah saya (mulai melalui SSH).
LastSecondsToLive
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.