Saya hanya ingin tahu perbedaan antara di
reboot
init 6
shutdown -r now
dan mana yang paling aman dan terbaik?
Jawaban yang Diterima:
Tidak ada perbedaan di antara mereka. Secara internal mereka melakukan hal yang persis sama:
-
reboot
menggunakanshutdown
perintah (dengan sakelar -r). Perintah shutdown digunakan untuk mematikan semua proses yang sedang berjalan, melepas semua sistem file dan akhirnya memberi tahu kernel untuk mengeluarkan perintah daya ACPI. Sumbernya dapat ditemukan di sini.
Di distro lama, perintah reboot memaksa proses untuk keluar dengan mengeluarkanSIGKILL
sinyal (masih ditemukan di sumber, dapat dipanggil dengan-f
option), di distro terbaru, defaultnya adalahinit 1 -> shutdown -r
. Ini memastikan bahwa daemon membersihkan dirinya sendiri sebelum dimatikan. -
init 6
memberitahuinit
proses untuk mematikan semua proses/daemon yang muncul seperti yang tertulis dalam file init (dalam urutan terbalik saat dimulainya) dan terakhir memanggilshutdown -r now
perintah untuk me-reboot mesin
Saat ini tidak ada banyak perbedaan karena kedua perintah melakukan hal yang persis sama, dan mereka menghormati skrip init yang digunakan untuk memulai layanan/daemon dengan menjalankan skrip shutdown untuk mereka. Kecuali untuk reboot -f -r now
seperti yang dinyatakan di bawah ini
Ada penjelasan kecil yang diambil dari halaman manual mengapa reboot -f
tidak aman:
-f, --force Force immediate halt, power-off, reboot. Don't contact the init system.
Sunting:
Lupa menyebutkan, dalam distribusi RHEL yang akan datang Anda harus menggunakan systemctl
. yang baru perintah untuk mengeluarkan poweroff/reboot. Sebagaimana dinyatakan dalam halaman manual reboot
dan shutdown
mereka adalah "perintah lama yang tersedia hanya untuk kompatibilitas." dan systemctl
metode ini akan menjadi satu-satunya yang aman.