Bagaimana cara membuat skrip shell yang me-restart program Java setiap x menit di Linux?

0

Bagaimana cara membuat skrip yang me-restart program java setiap X menit di Linux?

Saya akan menggunakan:

  • PHP
  • Akun hosting linux godaddy (klasik, dan saya tidak tahu OS apa)
  • skrip .sh
  • FTP (untuk mengakses file)

Saya berharap untuk memulai server untuk minecraft dan ini adalah ide yang terdengar sangat keren.

Saya juga membutuhkannya bahwa jika saya mengubah skrip, ia me-restart dan menjalankan skrip baru alih-alih yang lama. Saya berharap dokumen php terbuka sepanjang waktu server aktif (Jika dokumen php ditutup, server ditutup). Ini harus semua dalam satu skrip / halaman web PHP.

Akhirnya, ini harus bekerja pertama kali atau saya tidak akan dapat menghentikan program.

Saya telah memasukkan skrip .sh dari apa yang saya miliki sejauh ini:

#!/bin/sh
pkill java
screen java -Xmx1024M -jar craftbukkit.jar -o true

Apakah itu bekerja? Saya memerlukan kode PHP untuk memulainya dan tetap berjalan saat halaman web dimuat.

pengguna2044589
sumber
Apa yang sudah Anda coba sejauh ini? Di mana Anda terjebak dalam penelitian Anda? Kami bukan layanan penulisan skrip dan berharap Anda telah melakukan beberapa langkah di depan dan memberi tahu kami di mana Anda terjebak. -1 hingga Anda menyelesaikan beberapa pekerjaan sendiri.
nerdwaller
stackoverflow.com/questions/5882650/... Saya berpikir bahwa kombinasi dari ini dan sesuatu seperti crontab untuk php akan bekerja, tetapi saya tidak tahu apa-apa yang bisa melakukan hal seperti itu. Mungkin saya bisa menggunakan pemberhentian yang tertunda ...
user2044589
jika server ditutup, halaman PHP "ditutup". Ini adalah layanan web yang memberikan konten HTML.
tersangka

Jawaban:

1

Anda akan membunuh semua proses java, tetapi seperti yang saya mengerti Anda ingin membunuh hanya satu. Saya akan melakukannya seperti ini:

kill $(ps aux | grep '<name of your process>' | grep -v grep | awk '{print $2}')

dalam file .sh

inf
sumber
Anda dapat menggunakan pgrep alih-alih ps .. | grep | grep -v | awk, itu akan mengembalikan Anda pid dari proses :)
Pierre-Alain TORET