Saya belum menemukan jawaban yang jelas untuk perbedaan antara dua opsi pada perintah shutdown
.
Apakah halt
sama dengan shutdown -H
dan poweroff
sama dengan shutdown -P
?
Saya belum menemukan jawaban yang jelas untuk perbedaan antara dua opsi pada perintah shutdown
.
Apakah halt
sama dengan shutdown -H
dan poweroff
sama dengan shutdown -P
?
Jawaban:
Ini agak bersejarah.
halt
digunakan sebelum ACPI (yang hari ini akan mematikan daya untuk Anda) *. Ini akan menghentikan sistem dan kemudian mencetak pesan dengan efek "tidak apa-apa untuk mematikan sekarang". Saat itu ada switch on / off fisik, daripada tombol power combo ACPI dikendalikan komputer modern.
poweroff
, secara alami akan menghentikan sistem dan kemudian mematikan ACPI.
* Hari-hari halt
ini cukup cerdas untuk secara otomatis menelepon poweroff
jika ACPI diaktifkan. Bahkan, mereka secara fungsional setara sekarang.
/sbin/poweroff
adalah symlink ke /sbin/halt
.
shutdown
. Apakah perintah halt
sama dengan shutdown -H
, dan perintah poweroff
sama dengan shutdown -P
? @ phunehehe juga.
halt
terbiasa melakukan hal itu. Tidak ada shutdown yang tertib, hentikan saja apa yang sedang dilakukan mesin saat itu juga. Itu umum untuk mengeluarkan sync;sync;sync;halt
untuk memastikan semua buffer telah ditulis ke disk.
Mereka bukan hal yang sama, hanya terkait sangat erat. Dalam prakteknya, kecuali jika Anda ingin menentukan waktu tertentu untuk shutdown atau untuk memaksa segera najis reboot / berhenti / poweroff, itu benar-benar tidak peduli apakah Anda menjalankan shutdown -h
atau halt
... atau shutdown -r
vs reboot
. Hal-hal yang tidak begitu nyaman di masa lalu, tetapi ini adalah cara kerjanya sekarang (banyak peluang untuk ambiguitas atau kesalahan pengguna telah dihapus / dihaluskan).
/sbin/shutdown
melakukan banyak hal "pembersihan" seperti memberi tahu pengguna, memblokir login baru saat sistem dimatikan. Dapat juga dikatakan untuk mematikan sistem pada waktu tertentu atau dalam XX menit - memperingatkan pengguna yang masuk sering kali terjadi penutupan.
Itu juga mengubah runlevel ke 0
( halt
/ poweroff
) atau 6
( reboot
) yang memicu sistem untuk menghentikan layanan yang berjalan, unmount disk, dll dalam persiapan untuk menghentikan, mematikan, atau reboot.
Ketika semua itu dilakukan, ia kemudian memanggil /sbin/halt
,, /sbin/reboot
atau /sbin/poweroff
( reboot
dan poweroff
biasanya symlinks halt
, yang menafsirkannya sebagai halt -r
dan halt -P
masing - masing).
Perhatikan, bagaimanapun, bahwa jika halt
/ reboot
/ poweroff
dipanggil ketika sistem TIDAK dalam runlevel 0
atau 6
kemudian mereka akan memanggil shutdown
untuk melakukan tugasnya kecuali jika opsi -f
atau force
digunakan.
(Detail tentang bagaimana run-level ditafsirkan dapat bervariasi dari distro ke distro, tetapi 0
dan 6
digunakan seperti yang dijelaskan di sini di Debian dan Debian-derivatif seperti Ubuntu).
Lihat halaman manual untuk shutdown
dan halt
untuk info lebih lanjut.
Akhirnya, perbedaan antara halt
dan poweroff
status adalah bahwa halt
melakukan segalanya hingga benar-benar mematikan mesin (pada beberapa jenis perangkat keras ini berarti ia turun ke bootloader ROM atau serupa. Pada sebagian besar perangkat keras PC itu hanya berhenti), sambil poweroff
menyelesaikan langkah terakhir dan dimatikan. reboot
, tentu saja, sampai pada status berhenti dan kemudian reboot komputer.
BTW, defaultnya adalah salah satu poweroff
atau reboot
, tetapi Anda bisa menggunakan -H
argumen shutdown
untuk membuatnya berhenti. Ini tidak terlalu berguna pada kotak linux berbasis PC (tetapi berguna pada mesin, seperti kotak sparc, yang memiliki monitor boot firmware. Ini mungkin berguna pada mesin yang lebih baru dengan baris perintah EFI).
shutdown
perintah memiliki gagasan menjalankan level. shutdown
sebagian besar tidak meminta halt
/ reboot
/ poweroff
; ironisnya itu ada di beberapa sistem non-Linux di mana kebijaksanaan yang diterima ini masih tetap berlaku sampai sekarang. Dan di mana titik tautan simbolik belum tentu halt
; tidak hanya itu, di beberapa peralatan mereka bukan tautan simbolik sama sekali. Lihat unix.stackexchange.com/a/196471/5132 untuk lebih jelasnya.