Apakah berhenti sama dengan "shutdown -H" dan poweroff sama dengan "shutdown -P"?

15

Saya belum menemukan jawaban yang jelas untuk perbedaan antara dua opsi pada perintah shutdown.

Apakah haltsama dengan shutdown -Hdan poweroffsama dengan shutdown -P?

StackExchange untuk Semua
sumber

Jawaban:

26

Ini agak bersejarah.

haltdigunakan 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 haltini cukup cerdas untuk secara otomatis menelepon poweroffjika ACPI diaktifkan. Bahkan, mereka secara fungsional setara sekarang.

bahamat
sumber
Menarik: di laptop saya yang menjalankan Gentoo, /sbin/poweroffadalah symlink ke /sbin/halt.
phunehehe
Terima kasih, bahamat! Saya berbicara tentang dua opsi untuk perintah shutdown. Apakah perintah haltsama dengan shutdown -H, dan perintah poweroffsama dengan shutdown -P? @ phunehehe juga.
StackExchange for All
@ phunehehe: Ya, saya cukup yakin mereka sama sekarang, tetapi tidak repot-repot melihatnya.
bahamat
@Tim: Ya, bendera itu sama dengan memanggil perintah. Seperti yang saya katakan, itu cukup banyak perbedaan sejarah.
bahamat
1
Kembali pada hari, haltterbiasa 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;haltuntuk memastikan semua buffer telah ditulis ke disk.
kurtm
15

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 -hatau halt... atau shutdown -rvs 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/shutdownmelakukan 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/rebootatau /sbin/poweroff( rebootdan poweroffbiasanya symlinks halt, yang menafsirkannya sebagai halt -rdan halt -Pmasing - masing).

Perhatikan, bagaimanapun, bahwa jika halt/ reboot/ poweroffdipanggil ketika sistem TIDAK dalam runlevel 0atau 6kemudian mereka akan memanggil shutdownuntuk melakukan tugasnya kecuali jika opsi -fatau forcedigunakan.

(Detail tentang bagaimana run-level ditafsirkan dapat bervariasi dari distro ke distro, tetapi 0dan 6digunakan seperti yang dijelaskan di sini di Debian dan Debian-derivatif seperti Ubuntu).

Lihat halaman manual untuk shutdowndan haltuntuk info lebih lanjut.

Akhirnya, perbedaan antara haltdan poweroffstatus adalah bahwa haltmelakukan 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 poweroffmenyelesaikan langkah terakhir dan dimatikan. reboot, tentu saja, sampai pada status berhenti dan kemudian reboot komputer.

BTW, defaultnya adalah salah satu poweroffatau reboot, tetapi Anda bisa menggunakan -Hargumen shutdownuntuk 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).

cas
sumber
1
Ini adalah jawaban yang sangat Linux-sentris untuk pertanyaan non-sistem operasi spesifik. Tidak semua shutdownperintah memiliki gagasan menjalankan level. shutdownsebagian 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.
JdeBP