GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Memulai Ulang (atau Mengatur Ulang) Proses yang Berjalan Di Linux?

Saya memiliki dua sistem Linux yang berkomunikasi melalui soket (Desktop dan papan pengembangan berbasis ARM).

Saya ingin memulai ulang (atau mengatur ulang) aplikasi klien saya (berjalan di papan pengembangan) ketika server mengirim pesan yang telah ditentukan sebelumnya. Saya tidak ingin me-restart (reboot) Linux, saya hanya ingin aplikasi klien itu restart sendiri secara otomatis.

Saya tidak dapat memahami bagaimana hal itu harus dilakukan.

Jawaban yang Diterima:

Cara normal untuk melakukannya adalah dengan membiarkan program Anda keluar, dan menggunakan sistem pemantauan untuk memulai kembali. init program menawarkan sistem pemantauan seperti itu. Ada banyak program init yang berbeda (SysVinit, BusyBox, Systemd, dll.), dengan mekanisme konfigurasi yang sama sekali berbeda (selalu menulis file konfigurasi, tetapi lokasi dan sintaks file berbeda), jadi cari dokumentasi dari yang Anda sedang menggunakan. Konfigurasi init untuk meluncurkan program Anda saat boot atau atas permintaan eksplisit, dan untuk memulai ulang jika mati. Ada juga program pemantauan yang lebih bagus tetapi sepertinya Anda tidak membutuhkannya. Pendekatan ini memiliki banyak keuntungan dibandingkan membuat program melakukan restart sendiri:ini standar, sehingga Anda dapat memulai ulang banyak layanan tanpa harus peduli bagaimana mereka dibuat; itu berfungsi bahkan jika program mati karena bug.

Ada mekanisme standar untuk memberi tahu proses untuk keluar:sinyal. Kirim program Anda sinyal TERM. Jika program Anda perlu melakukan pembersihan apa pun, tulis penangan sinyal. Itu tidak menghalangi memiliki perintah khusus program untuk mematikannya jika Anda memiliki saluran administratif untuk mengirimkannya perintah seperti ini.


Linux
  1. Cara menginstal vtop di Linux

  2. Linux – Bagaimana Mendapatkan Waktu Jam Dinding Dari Proses Yang Berjalan?

  3. Cara Membunuh Proses yang Berjalan di Linux

  1. Bagaimana Cara Membunuh Proses yang Berjalan pada Port Tertentu di Linux?

  2. Bagaimana cara memeriksa apakah suatu proses masih berjalan menggunakan Python di Linux?

  3. Bagaimana cara mematikan proses yang berjalan pada port tertentu di Linux?

  1. Cara mengatur ID proses di Linux untuk program tertentu

  2. Bagaimana cara me-restart server MySQL jarak jauh yang berjalan di Ubuntu linux?

  3. Bagaimana Saya Dapat Membuat File Dump dari Proses yang Berjalan di Linux?