it-swarm-id.com

Apa perbedaan antara perintah Stop dan Shutdown?

Apa perbedaan antara perintah halt dan shutdown?

100
wassimans

Umumnya, seseorang menggunakan perintah shutdown . Ini memungkinkan waktu tunda dan pesan peringatan sebelum shutdown atau reboot, yang penting untuk administrasi sistem server multiuser Shell; ini dapat memberi pengguna pemberitahuan sebelumnya tentang waktu henti.

Dengan demikian, perintah shutdown harus digunakan seperti ini untuk menghentikan/mematikan komputer segera (setidaknya di Linux dan FreeBSD):

shutdown -h now

Atau untuk reboot dengan custom, peringatan 30 menit sebelumnya:

shutdown -r +30 "Planned software upgrades"

Setelah penundaan, shutdown memberitahu init untuk mengubah ke runlevel 0 (berhenti) atau 6 (reboot). (Perhatikan bahwa menghilangkan -h atau -r akan menyebabkan sistem beralih ke mode pengguna-tunggal (runlevel 1), yang membunuh sebagian besar proses sistem tetapi tidak benar-benar menghentikan sistem; masih memungkinkan administrator untuk tetap masuk sebagai root.)

Setelah proses sistem terbunuh dan sistem file telah dilepas, sistem berhenti/mati atau reboot secara otomatis. Ini dilakukan dengan menggunakan perintah halt atau reboot , yang menyinkronkan perubahan pada disk dan kemudian melakukan penghentian/matikan yang sebenarnya atau matikan atau reboot.

Di Linux, jika halt atau reboot dijalankan ketika sistem belum memulai proses shutdown, ia akan menjalankan perintah shutdown secara otomatis daripada langsung melakukan tindakan yang dimaksud. Namun, pada sistem seperti FreeBSD , perintah-perintah ini pertama-tama mencatat aksi di wtmp dan kemudian segera melakukan penghentian/reboot sendiri, tanpa terlebih dahulu membunuh proses atau melepas sistem file.

80
PleaseStand

Masa lalu

Pada 1980-an, BSD memiliki halt, reboot, dan shutdown. Sistem 5 UNIX memiliki perangkat kompatibilitas BSD. Tetapi secara alami ia memiliki perintahnya sendiri, berbeda, shutdown; dan tidak memiliki halt atau reboot sama sekali. (Beberapa varian Sistem 5 memiliki hal-hal seperti SCO XENIX's haltsys.)

Perintah BSD halt dan reboot adalah level rendah, drastis, dan langsung. Cara perhatian untuk mematikan sistem BSD adalah perintah shutdown, yang melakukan semua hal yang orang harapkan terjadi: wall pesan ke pengguna, layanan terbunuh dengan anggun, entri log ditulis, login dinonaktifkan, dan sebagainya.

Sementara BSD sebagian besar di mana kebijaksanaan yang diterima berasal bahwa "shutdown mengeksekusi halt/reboot" ", dan yang terakhir harus digunakan dengan hati-hati; itu adalah dunia System 5 di mana orang belajar kebiasaan yang berlawanan bahwa halt/reboot hanya tulisan tangan yang berguna dan tidak lebih: /usr/ucb/halt, dari "Paket Kompatibilitas BSD", adalah tidak ada pengaruhnya terhadap shutdown -h. Mereka berdua akhirnya melakukan init 0.

Bacaan lebih lanjut

Hari ini

Saat ini, kami memiliki serangkaian perkakas manajemen sistem yang memungkinkan. BSD masih memiliki perangkat mereka, meskipun dibersihkan dari kemungkinan AT&Tisme di tahun 1990-an. Miquel van Smoorenburg pada tahun 1992 (re-) menulis Linux init + rc, dan alat-alat yang terkait, yang sekarang orang sebut sebagai "System 5 init", meskipun sebenarnya tidak perangkat lunak dari UNIX System 5 (dan bukan hanya init). Ada juga systemd , pemula , dan nosh , masing-masing memiliki implementasi mereka sendiri dari halt, reboot, fasthalt, fastboot, dan sebagainya.

Perangkat juga telah tumbuh dan berubah. Sekarang ada perintah poweroff, tidak ada pada sistem operasi 1980-an karena Central Processing Unit pada kebanyakan mesin kontemporer tidak memiliki cara untuk mengendalikan pasokan listrik mereka. Khususnya, perangkat Linux memiliki perintah BSD; tetapi seperti alat kompatibilitas BSD pada Sistem 5 UNIX, mereka tidak persis bekerja dan hal-hal sebagian besar telah diratakan.

Perataan ini telah membawa kami ke titik di mana halt dan shutdown berada sebagian besar sama. Tetapi detail yang tepat bervariasi dari satu set alat ke set alat, dan mekanisme masing-masing set alat semuanya sedikit berbeda.

Itu juga telah membawa kami ke posisi yang sedikit memalukan di mana set perintah ini menjadi begitu dibalut dengan opsi kompatibilitas sehingga sekarang memungkinkan orang untuk memberikan komputer instruksi yang saling bertentangan seperti reboot --halt Dan poweroff --reboot, Seperti yang saya tercantum di halaman manual untuk perintah nosh halt, fasthalt, reboot, fastboot, dan poweroff. ☺

Toold systemd

halt, reboot, poweroff, telinit, dan shutdown adalah semua satu program . Ini sebenarnya adalah program systemctl milik systemd sendiri. Ini memiliki beberapa parser baris perintah untuk berbagai sintaks baris perintah dari perintah-perintah itu, serta perintahnya sendiri, tetapi setelah itu sebagian besar menyalurkannya ke dalam satu jalur kode secara internal. Tidak ada perbedaan antara menggunakan halt dan opsi perintahnya untuk memicu suatu tindakan dan menggunakan shutdown dan opsi perintahnya untuk memicu tindakan yang sama.

systemd tidak mempertimbangkan mode penyelamatan (yang mana orang-orang systemd telah berganti nama menjadi mode pengguna tunggal ) menjadi status sistem mati, dan tidak dapat dijangkau dengan perintah ini. Opsi-less shutdown now Sama dengan poweroff.

Bacaan lebih lanjut:

BSD

BSD sebagian besar mempertahankan semantik tahun 1980-an. halt dan shutdown dengan demikian sangat banyak tidak setara dalam perangkat mereka. halt dan reboot adalah satu program tunggal; dan masih level rendah, langsung, dan drastis. Sedangkan shutdown dan poweroff, juga satu program tunggal, melakukan semua hal yang dipertimbangkan seperti shutdown terjadwal, menulis pesan wall, aksi logging, menonaktifkan login, dan sebagainya.

Dalam BSD toolets, shutdown/poweroff secara tradisional akhirnya memanggil halt/reboot untuk memberlakukan perubahan status sistem akhir. The (sering saat ini salah) menerima kebijaksanaan bahwa "shutdown exec halt/reboot" pada kenyataannya masih berlaku di NetBSD dan OpenBSD. Tetapi pada FreeBSD/TrueOS/DragonFlyBSD itu hanya terjadi jika opsi -o Digunakan. Pada BSD ini, keduanya dari program-program ini secara normal memberlakukan status sistem akhir ubah dengan mengirim berbagai sinyal (INT, USR1, dan USR2) untuk memproses # 1. init melakukan semua manajemen status sistem aktif pada sistem ini.

Pada semuanya, opsi-less shutdown now Tidak setara dengan halt, reboot, atau poweroff. Ini transisi ke mode pengguna tunggal BSD , dari mana seseorang dapat bertransisi kembali ke mode multi-pengguna .

Bacaan lebih lanjut:

Toolset nosh

Dalam perangkat manajemen sistem nosh, halt, fasthalt, poweroff, fastpoweroff, reboot, dan fastboot adalah semua satu program. Ini adalah shim kompatibilitas mundur yang biasanya hanya berantai ke shutdown, berlawanan dari kebijakan yang diterima. Opsi --force Menjadikannya berantai ke system-control.

Jadi tidak ada perbedaan (tidak ada --force) Antara perintah halt dan perintah shutdown (dengan opsi yang setara) dalam perangkat ini, karena rangkaian "BSD/System 5 ini Perintah kompatibilitas "hanyalah lapisan shim tipis di atas shutdown.

Bacaan lebih lanjut:

Toolset pemula

Seperti halnya nosh, pada perangkat manajemen sistem pemula, kebalikan dari kebijaksanaan BSD yang diterima berlaku. halt, reboot, dan poweroff semua adalah satu program, yang biasanya berantai ke shutdown; kecuali jika opsi --force digunakan, yang membuatnya menjadikan reboot() system call itu sendiri.

Jadi, sekali lagi, tidak ada perbedaan (tidak ada --force) Antara perintah halt dan dan shutdown perintah (dengan opsi yang setara) di perangkat ini. Lagi-lagi, opsi-less shutdown now (Yang tidak satupun dari halt, reboot, atau poweroff dapat berakhir memohon karena mereka semua mengatur opsi) membawa sistem menjadi mode pengguna tunggal daripada mematikannya.

Bacaan lebih lanjut:

Linux System 5 init + rc toolset

Sekali lagi, dalam perangkat ini, kebalikan dari kebijaksanaan BSD yang diterima berlaku dan halt dan reboot hanya rantai ke shutdown - kecuali jika sistem sudah dalam poweroff atau menghentikan "run-level ", dalam hal ini perintah ini benar-benar memberlakukan perubahan status sistem akhir. shutdown dalam rantai beloknya ke init.

Jadi, sekali lagi, tidak ada perbedaan (kecuali sistem sudah sudah sebagian besar dimatikan) antara halt dan shutdown karena yang pertama hanya memanggil yang terakhir. Dan ya, sekali lagi, opsi-kurang shutdown now (Yang tidak satupun dari halt, reboot, atau poweroff dapat berakhir memohon karena mereka semua mengatur opsi) membawa sistem menjadi mode pengguna tunggal daripada mematikannya.

52
JdeBP

Saya menduga ini agak tergantung pada versi UNIX/Linux yang Anda gunakan. Pada Centos (dan saya harapkan Linux modern lainnya) hentikan panggilan shutdown (asalkan Anda tidak di runlevel 0 atau 6) sehingga sistem Anda akan dimatikan secara bersih. Pada Solaris 10 berhenti lebih brutal, itu hanya menghapus cache disk dan mematikan sistem - tidak ada upaya yang dilakukan untuk menjalankan skrip atau shutdown smf fasilitas.

11
user591

Bagi mereka yang menggunakan AWS EC2: pada AWS shutdownstops sebuah instance, ketika haltmengakhiri itu.

3
dveim

Di linux, "halt" dan "reboot" adalah alias dari perintah shutdown - shutdown -h dan shutdown -r masing-masing. Bareword shutdown umumnya mengasumsikan -h.

0
Shadur