Saya memiliki aplikasi server yang ingin saya jalankan setiap kali komputer berjalan dan biasanya ini yang terjadi, kecuali kadang-kadang saya menemukan itu telah ditutup dengan sendirinya.
Apakah ada kelelawar atau skrip yang bisa saya jalankan untuk memonitor aplikasi dan me-restart itu harus ditutup?
Jawaban:
Ini tidak selalu berhasil (ini tergantung pada bagaimana program memuatnya sendiri), tetapi biasanya Anda dapat membuat file batch seperti ini:
Saya telah menggunakan Notepad sebagai contoh.
Garis
hanya penundaan (10 detik) untuk memberikan pengguna kesempatan untuk membatalkan proses sebelum mulai lagi.
Garis
tidak diperlukan, tetapi akan mencatat setiap kali program ditutup ke file, jadi mungkin berguna untuk mendiagnosis masalah. ErrorLevel mungkin tidak memberi tahu Anda banyak, tetapi sebuah program seharusnya mengembalikan 0 jika ditutup secara normal, dan tidak Pesan -zero jika tidak
Catatan, Anda menyebutkan bahwa program Anda tidak melakukan apa-apa jika sudah berjalan. Itu biasanya berarti bahwa aplikasi dimulai, mendeteksi bahwa salinan lain sudah berjalan dan segera dimatikan. Jika itu masalahnya, dan program Anda berjalan sebelum Anda memulai file batch ini, maka batch akan berulang dan mencoba untuk memulai program Anda setiap sepuluh detik.
sumber
Berdasarkan jawaban Anda di atas, apa yang saya sarankan adalah Anda menempatkan perintah itu ke dalam file batch, kemudian mengatur file batch untuk dijalankan sebagai tugas yang dijadwalkan setiap menit. Hampir tidak ada overhead yang terkait dengan ini, dan itu memastikan bahwa proses Anda akan dinyatakan terlepas dari apakah Anda ada di sekitar untuk menyadari itu berhenti.
sumber
Saya kira jawaban yang tepat untuk pertanyaan ini tergantung pada mengapa Anda ingin melakukannya. Apakah Anda mencoba menyelesaikan pematian yang tidak disengaja? Cegah penutupan "jahat" oleh pengguna mesin (mis. Karyawan yang menutup perangkat lunak pemantauan)? Mencegah serangan berbahaya yang serius dan terampil? Apakah Anda mencoba untuk menulis malware sendiri (dalam hal ini silakan berhenti ;-))?
Juga, seperti yang disebutkan oleh komentator lain, akan berbeda jika Anda menulis layanan Windows (misalnya)
Secara pribadi, saya mungkin akan mulai dengan menulis aplikasi kedua dan memulainya dengan cara yang sama. Mintalah kedua aplikasi memindai satu sama lain secara berkala dan mulai ulang jika perlu - pastikan Anda memberikan cara mudah agar aplikasi ditutup secara sah!
Yang mengatakan, dan memberikan komentar Anda "kadang-kadang saya akan menemukan itu telah menutup dengan sendirinya" Saya AKAN AKAN memulai dengan mencoba mencari tahu mengapa itu ditutup ...
sumber
Anda dapat menggunakan program yang disebut ReStartMe 2.0 [ Mirror ] untuk melakukan hal itu:
Pantau proses dan mulai ulang jika ditutup.
sumber
ini jauh lebih baik! ini adalah beberapa kode yang telah saya gunakan untuk server permainan minetest yang harus disimpan pada file .bat
sumber