Apa perbedaan antara perintah halt
dan shutdown
?
sumber
Secara umum, seseorang menggunakan shutdown
perintah . 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 jeda, shutdown
minta init
diubah ke runlevel 0 (berhenti) atau 6 (reboot). (Perhatikan bahwa menghilangkan -h
atau -r
akan menyebabkan sistem masuk ke mode pengguna tunggal (runlevel 1), yang membunuh sebagian besar proses sistem tetapi tidak benar-benar menghentikan sistem; itu 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
ataureboot
, yang menyinkronkan perubahan ke disk dan kemudian melakukan penghentian / matikan yang sebenarnya atau reboot.
Di Linux, jika halt
atau reboot
dijalankan ketika sistem belum memulai proses shutdown, ia akan menjalankan shutdown
perintah secara otomatis daripada langsung melakukan tindakan yang dimaksud. Namun, pada sistem seperti FreeBSD , perintah ini pertama-tama mencatat tindakan wtmp
dan kemudian akan segera melakukan penghentian / reboot sendiri, tanpa terlebih dahulu membunuh proses atau melepas sistem file.
halt
,reboot
danshutdown
program-program yang memanggil satu sama lain. Ada satu program tunggal, dengan banyak parser baris perintah yang menyalurkannya ke satu jalur kode secara internal. Juga tidak ada level run. Shutdown juga tidak masuk ke mode pengguna tunggal. Memang, mode pengguna tunggal itu sendiri telah berganti nama. Untuk detailnya, lihat unix.stackexchange.com/a/196014/5132 .Masa lalu
Pada 1980-an, BSD memiliki
halt
,reboot
, danshutdown
. Sistem 5 UNIX memiliki perangkat kompatibilitas BSD. Tetapi secara alami ia memilikishutdown
perintahnya sendiri yang berbeda ; dan tidak punyahalt
atau tidakreboot
sama sekali. (Beberapa varian Sistem 5 memiliki hal-hal seperti milik SCO XENIXhaltsys
.)BSD
halt
danreboot
perintah adalah level rendah, drastis, dan langsung. The perhatian cara untuk mematikan sistem BSD adalahshutdown
perintah, yang melakukan semua hal yang satu mengharapkan terjadi:wall
pesan ke pengguna, layanan anggun tewas, entri log ditulis, login dinonaktifkan, dan sebagainya.Sementara BSD sebagian besar di mana kebijaksanaan yang diterima berasal bahwa "
shutdown
eksekutifhalt
/reboot
", dan bahwa yang terakhir itu harus digunakan dengan hati-hati; itu adalah System 5 dunia di mana orang belajar kebiasaan sebaliknya yanghalt
/reboot
itu shorthands hanya berguna dan tidak lebih:/usr/ucb/halt
, dari "BSD Kompatibilitas Package", tidak berbeda berlaku untukshutdown -h
. Mereka berdua akhirnya melakukannyainit 0
.Bacaan lebih lanjut
halt
. 1982-05-11. Manual 4.2BSD.haltsys
. 2005-06-03. Manual OpenServer SCO.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 (kembali) menulis Linux
init
+rc
, dan alat-alat yang terkait, yang sekarang orang sebut sebagai "System 5 init", meskipun sebenarnya bukan perangkat lunak dari UNIX System 5 (dan bukan hanyainit
). Ada juga systemd , pemula , dan nosh , yang masing-masing memiliki implementasi sendiri darihalt
,reboot
,fasthalt
,fastboot
, dan sebagainya.Tooletset juga telah tumbuh dan berubah. Sekarang ada
poweroff
perintah, tidak ada di 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 tepat bekerja dan hal-hal sebagian besar telah diratakan.Mendatarkan ini telah membawa kita ke titik di mana
halt
danshutdown
yang sebagian besar sama. Tetapi detail yang tepat bervariasi dari set alat ke set alat, dan mekanisme masing-masing set alat sedikit berbeda.Hal ini juga membawa kami ke posisi yang sedikit memalukan di mana set perintah ini telah menjadi begitu dihiasi dengan opsi kompatibilitas yang sekarang memungkinkan orang untuk memberikan komputer petunjuk saling bertentangan seperti
reboot --halt
danpoweroff --reboot
, seperti yang saya dicatat dalam halaman manual untuk nosh yanghalt
,fasthalt
,reboot
,fastboot
, danpoweroff
perintah. ☺Toold systemd
halt
,reboot
,poweroff
,telinit
, Danshutdown
adalah semua satu program . Ini sebenarnya adalahsystemctl
program 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 menggunakanhalt
dan opsi perintahnya untuk memicu suatu tindakan dan menggunakanshutdown
dan opsi perintahnya untuk memicu tindakan yang sama.systemd tidak menganggap mode penyelamatan (yang oleh orang-orang systemd telah berganti nama menjadi mode pengguna tunggal ) sebagai keadaan sistem mati, dan itu tidak dapat dijangkau dengan perintah-perintah ini. Opsi-kurang
shutdown now
sama denganpoweroff
.Bacaan lebih lanjut:
BSD
BSD sebagian besar mempertahankan semantik tahun 1980-an.
halt
danshutdown
dengan demikian sangat tidak setara dalam perangkat mereka.halt
danreboot
merupakan satu program tunggal; dan masih level rendah, langsung, dan drastis. Sedangkanshutdown
danpoweroff
, juga satu program tunggal, melakukan semua hal yang dipertimbangkan seperti shutdown terjadwal, menuliswall
pesan, aksi logging, menonaktifkan login, dan sebagainya.Dalam BSD toolets,
shutdown
/poweroff
biasanya memintahalt
/reboot
untuk memberlakukan perubahan status sistem akhir. (Sering saat ini salah) menerima kebijaksanaan yang "shutdown
eksekutifhalt
/reboot
" pada kenyataannya masih berpegang pada NetBSD dan OpenBSD. Tetapi pada FreeBSD / TrueOS / DragonFlyBSD itu hanya terjadi jika-o
opsi digunakan. Pada BSD ini, kedua program ini biasanya memberlakukan akhir perubahan sistem negara dengan mengirimkan berbagai sinyal (INT
,USR1
, danUSR2
) untuk memproses # 1.init
apakah semua sistem manajemen negara pada sistem ini.Pada semua dari mereka, pilihan-kurang
shutdown now
tidak sama dengan salahhalt
,reboot
ataupoweroff
. Ini transisi ke mode pengguna tunggal BSD , dari mana seseorang dapat beralih kembali ke mode multi-pengguna .Bacaan lebih lanjut:
shutdown
. Manual Manajer Sistem . Halaman Manual NetBSD. 2011-11-04.reboot
,halt
. Halaman Manual OpenBSD. 2016-09-03.shutdown
. Halaman Manual FreeBSD. 2016-09-21.reboot
,halt
,fastboot
,fasthalt
. Halaman Manual FreeBSD. 2017-03-19.shutdown
. Manual Manajer Sistem . Halaman Manual DragonFlyBSD. 2016-09-29.reboot
,halt
,fastboot
,fasthalt
. Manual Manajer Sistem . Halaman Manual DragonFlyBSD. 2016-09-29.Toolset nosh
Dalam nosh sistem manajemen toolset,
halt
,fasthalt
,poweroff
,fastpoweroff
,reboot
, danfastboot
semua satu program. Ini adalah shim kompatibilitas mundur yang biasanya hanya berantaishutdown
, kebalikan dari kebijaksanaan yang diterima. The--force
pilihan membuatnya rantai untuksystem-control
gantinya.Jadi tidak ada perbedaan (absen
--force
) antarahalt
perintah danshutdown
perintah (dengan opsi yang setara) di set alat ini, karena set ini "BSD / System 5 kompatibilitas" perintah hanyalah lapisan shim tipis di atasshutdown
.Bacaan lebih lanjut:
shutdown
. nosh toolset halaman buku panduan. Perangkat lunak.telinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, …
nosh toolset halaman buku panduan. Perangkat lunak.Toolset pemula
Seperti halnya nosh, dalam perangkat manajemen sistem pemula, kebalikan dari kebijaksanaan BSD yang diterima berlaku.
halt
,,reboot
danpoweroff
semuanya adalah satu program, yang biasanya berantai keshutdown
; kecuali jika--force
opsi tersebut digunakan, yang membuatnya membuatreboot()
system call itu sendiri.Jadi, sekali lagi, tidak ada perbedaan (absen
--force
) antarahalt
perintah dan danshutdown
perintah (dengan opsi yang setara) di perangkat ini. Juga lagi, pilihan-kurangshutdown now
(yang tidak adahalt
,reboot
ataupoweroff
dapat berakhir memanggil mereka semua pilihan set) membawa sistem ke mode single user daripada mematikannya.Bacaan lebih lanjut:
shutdown
(8) . Halaman manual Ubuntu.reboot
(8),halt
(8),poweroff
(8) . Halaman manual Ubuntu.Linux System 5
init
+rc
toolsetSekali lagi, dalam perangkat ini, kebalikan dari kebijaksanaan BSD yang diterima berlaku dan
halt
danreboot
hanya rantai keshutdown
- kecuali sistem sudah dalam poweroff atau menghentikan "run-level", dalam hal ini perintah ini benar-benar memberlakukan perubahan status sistem akhir.shutdown
pada gilirannya rantai keinit
.Jadi, sekali lagi, tidak ada perbedaan (kecuali sistem sudah sebagian besar dimatikan) antara
halt
danshutdown
karena yang pertama hanya memanggil yang terakhir. Dan ya, sekali lagi, pilihan-kurangshutdown now
(yang tidak adahalt
,reboot
ataupoweroff
dapat berakhir memanggil mereka semua pilihan set) membawa sistem ke mode single user daripada mematikannya.sumber
Saya menduga ini agak tergantung pada versi UNIX / Linux yang Anda gunakan. Pada Centos (dan saya berharap Linux modern lainnya) menghentikan panggilan shutdown (asalkan Anda tidak berada 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 untuk menjalankan skrip atau mematikan fasilitas smf .
sumber
Bagi mereka yang menggunakan AWS EC2: pada AWS
shutdown
berhenti instance, ketikahalt
mengakhiri itu.sumber
Di linux, "halt" dan "reboot" adalah alias dari perintah shutdown -
shutdown -h
danshutdown -r
masing - masing. Bareword shutdown umumnya mengasumsikan -h.sumber
aliases
dalam arti alias shell, tapi ya,halt
pada dasarnya hanya panggilanshutdown -h
danreboot
larishutdown -r
. Catatan bahwa jika Anda lulus-f
(kekuatan) pilihan untukhalt
ataureboot
,shutdown
yang tidak disebut.sendmail
perintah pada titik ini - Seperti dengan MTA, sebenarnya tidak masalah sistem init apa yang Anda gunakan karena semuanya akan mengenali keduanyashutdown
danhalt
karenanya.sendmail
perintah. Ini sepertisendmail
perintah, tetapi tidak dengan cara yang Anda pikirkan.