GNU/Linux >> Belajar Linux >  >> Linux

Apa perbedaan antara reboot , init 6 dan shutdown -r sekarang?

Tidak ada perbedaan di dalamnya. Secara internal mereka melakukan hal yang persis sama:

  • reboot menggunakan shutdown perintah (dengan tombol -r). Perintah shutdown digunakan untuk menghentikan semua proses yang berjalan, meng-unmount semua sistem file, dan terakhir memberi tahu kernel untuk mengeluarkan perintah daya ACPI. Sumbernya dapat ditemukan di sini. Di distro yang lebih lama, perintah reboot memaksa proses untuk keluar dengan mengeluarkan SIGKILL signal (masih ditemukan di sources, dapat dipanggil dengan -f opsi), di sebagian besar distro terbaru defaultnya adalah init 1 -> shutdown -r yang lebih anggun dan ramah init . Ini memastikan bahwa daemon membersihkan dirinya sendiri sebelum dimatikan.

  • init 6 memberi tahu init proses untuk mematikan semua proses/daemon yang muncul seperti yang tertulis dalam file init (dalam urutan terbalik saat dimulai) dan terakhir aktifkan shutdown -r now perintah untuk mem-boot ulang mesin

Saat ini tidak 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 sedikit penjelasan 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 mendatang Anda harus menggunakan systemctl yang baru perintah untuk mengeluarkan poweroff/reboot. Sebagaimana dinyatakan dalam halaman manual reboot dan shutdown mereka adalah "perintah lama yang hanya tersedia untuk kompatibilitas." dan systemctl metode akan menjadi satu-satunya yang aman.


Shutdown lebih disukai karena memungkinkan Anda menentukan alasan untuk tindakan drastis -- sesuatu yang harus selalu Anda lakukan. Pesan tersebut akan dicatat dalam log(s) untuk anak cucu. Misalnya:

shutdown -r now 'Kernel upgrade requires reboot'

Anda juga dapat melakukan terjadwal reboot -- dengan menentukan sesuatu selain now sebagai waktu reboot:

shutdown -r 22:00 'Work around kernel memory leak'

Kemudian pengguna Anda akan mendapatkan pengingat berkala untuk keluar saat waktunya semakin dekat -- prosesnya akan lebih tertib dan profesional.


Pada uni tradisional, reboot dan shutdown -r now adalah perintah yang sangat berbeda. Dalam penggunaan biasa, reboot hanya aman digunakan dalam mode pengguna tunggal.

shutdown -r now adalah metode kanonik untuk mematikan seluruh *nix yang berbeda dan lebih aman untuk digunakan secara umum dan secara fungsional setara dengan init 6 .

init(8)reboot(8)


Linux
  1. Perbedaan Antara Perintah Menghentikan dan Mematikan?

  2. Perbedaan Antara [[ $a ==Z* ]] Dan [ $a ==Z* ]?

  3. Apa perbedaan antara strtok_r dan strtok_s di C?

  1. Apa perbedaan antara fsck dan e2fsck?

  2. Apa perbedaan antara adduser dan useradd?

  3. Apa perbedaan antara $(CC) dan $CC?

  1. Centos – Perbedaan Shutdown 18:00 dan Shutdown 18:00?

  2. Linux – Perbedaan Reboot , Init 6 Dan Shutdown -r Sekarang?

  3. Apa perbedaan antara rute dan rute ip?