Jawaban:
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
dan shutdown
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 .
Pada 1980-an, BSD memiliki halt
, reboot
, dan shutdown
. Sistem 5 UNIX memiliki perangkat kompatibilitas BSD. Tetapi secara alami ia memiliki shutdown
perintahnya sendiri yang berbeda ; dan tidak punya halt
atau tidak reboot
sama sekali. (Beberapa varian Sistem 5 memiliki hal-hal seperti milik SCO XENIX haltsys
.)
BSD halt
dan reboot
perintah adalah level rendah, drastis, dan langsung. The perhatian cara untuk mematikan sistem BSD adalah shutdown
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
eksekutif halt
/ reboot
", dan bahwa yang terakhir itu harus digunakan dengan hati-hati; itu adalah System 5 dunia di mana orang belajar kebiasaan sebaliknya yang halt
/ reboot
itu shorthands hanya berguna dan tidak lebih: /usr/ucb/halt
, dari "BSD Kompatibilitas Package", tidak berbeda berlaku untuk shutdown -h
. Mereka berdua akhirnya melakukannya init 0
.
halt
. 1982-05-11. Manual 4.2BSD.haltsys
. 2005-06-03. Manual OpenServer SCO.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 hanya init
). Ada juga systemd , pemula , dan nosh , yang masing-masing memiliki implementasi sendiri dari halt
, 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
dan shutdown
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
dan poweroff --reboot
, seperti yang saya dicatat dalam halaman manual untuk nosh yang halt
, fasthalt
, reboot
, fastboot
, dan poweroff
perintah. ☺
halt
, reboot
, poweroff
, telinit
, Dan shutdown
adalah semua satu program . Ini sebenarnya adalah systemctl
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 menggunakan halt
dan opsi perintahnya untuk memicu suatu tindakan dan menggunakan shutdown
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 dengan poweroff
.
BSD sebagian besar mempertahankan semantik tahun 1980-an. halt
dan shutdown
dengan demikian sangat tidak setara dalam perangkat mereka. halt
dan reboot
merupakan 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 wall
pesan, aksi logging, menonaktifkan login, dan sebagainya.
Dalam BSD toolets, shutdown
/ poweroff
biasanya meminta halt
/ reboot
untuk memberlakukan perubahan status sistem akhir. (Sering saat ini salah) menerima kebijaksanaan yang " shutdown
eksekutif halt
/ 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
, dan USR2
) untuk memproses # 1. init
apakah semua sistem manajemen negara pada sistem ini.
Pada semua dari mereka, pilihan-kurang shutdown now
tidak sama dengan salah halt
, reboot
atau poweroff
. Ini transisi ke mode pengguna tunggal BSD , dari mana seseorang dapat beralih kembali ke mode multi-pengguna .
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.Dalam nosh sistem manajemen toolset, halt
, fasthalt
, poweroff
, fastpoweroff
, reboot
, dan fastboot
semua satu program. Ini adalah shim kompatibilitas mundur yang biasanya hanya berantai shutdown
, kebalikan dari kebijaksanaan yang diterima. The --force
pilihan membuatnya rantai untuk system-control
gantinya.
Jadi tidak ada perbedaan (absen --force
) antara halt
perintah dan shutdown
perintah (dengan opsi yang setara) di set alat ini, karena set ini "BSD / System 5 kompatibilitas" perintah hanyalah lapisan shim tipis di atas shutdown
.
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.Seperti halnya nosh, dalam perangkat manajemen sistem pemula, kebalikan dari kebijaksanaan BSD yang diterima berlaku. halt
,, reboot
dan poweroff
semuanya adalah satu program, yang biasanya berantai ke shutdown
; kecuali jika --force
opsi tersebut digunakan, yang membuatnya membuat reboot()
system call itu sendiri.
Jadi, sekali lagi, tidak ada perbedaan (absen --force
) antara halt
perintah dan dan shutdown
perintah (dengan opsi yang setara) di perangkat ini. Juga lagi, pilihan-kurang shutdown now
(yang tidak ada halt
, reboot
atau poweroff
dapat berakhir memanggil mereka semua pilihan set) membawa sistem ke mode single user daripada mematikannya.
shutdown
(8) . Halaman manual Ubuntu.reboot
(8), halt
(8), poweroff
(8) . Halaman manual Ubuntu.init
+ rc
toolsetSekali lagi, dalam perangkat ini, kebalikan dari kebijaksanaan BSD yang diterima berlaku dan halt
dan reboot
hanya rantai ke shutdown
- 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 ke init
.
Jadi, sekali lagi, tidak ada perbedaan (kecuali sistem sudah sebagian besar dimatikan) antara halt
dan shutdown
karena yang pertama hanya memanggil yang terakhir. Dan ya, sekali lagi, pilihan-kurang shutdown now
(yang tidak ada halt
, reboot
atau poweroff
dapat berakhir memanggil mereka semua pilihan set) membawa sistem ke mode single user daripada mematikannya.
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 .
Bagi mereka yang menggunakan AWS EC2: pada AWS shutdown
berhenti instance, ketika halt
mengakhiri itu.
Di linux, "halt" dan "reboot" adalah alias dari perintah shutdown - shutdown -h
dan shutdown -r
masing - masing. Bareword shutdown umumnya mengasumsikan -h.
aliases
dalam arti alias shell, tapi ya, halt
pada dasarnya hanya panggilan shutdown -h
dan reboot
lari shutdown -r
. Catatan bahwa jika Anda lulus -f
(kekuatan) pilihan untuk halt
atau reboot
, 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 keduanya shutdown
dan halt
karenanya.
sendmail
perintah. Ini seperti sendmail
perintah, tetapi tidak dengan cara yang Anda pikirkan.