Tôi chỉ muốn biết sự khác biệt giữa
reboot
init 6
shutdown -r now
và cái nào là an toàn nhất và tốt nhất?
Tôi chỉ muốn biết sự khác biệt giữa
reboot
init 6
shutdown -r now
và cái nào là an toàn nhất và tốt nhất?
Câu trả lời:
Không có sự khác biệt trong họ. Trong nội bộ họ làm chính xác điều tương tự:
reboot
sử dụng shutdown
lệnh (với công tắc -r). Lệnh shutdown được sử dụng để tiêu diệt tất cả các tiến trình đang chạy, ngắt kết nối tất cả các hệ thống tệp và cuối cùng báo cho kernel phát lệnh ACPI power. Nguồn có thể được tìm thấy ở đây . Trong các bản phân phối cũ hơn, lệnh khởi động lại đã buộc các tiến trình thoát ra bằng cách phát SIGKILL
tín hiệu (vẫn được tìm thấy trong các nguồn, có thể được gọi bằng -f
tùy chọn), trong hầu hết các bản phát hành gần đây, nó mặc định là thân thiện hơn và dễ sử dụng hơn init 1 -> shutdown -r
. Điều này đảm bảo rằng daemon tự làm sạch trước khi tắt máy.
init 6
báo cho init
quá trình tắt tất cả các tiến trình / trình nền được sinh ra như được ghi trong các tệp init (theo thứ tự nghịch đảo mà chúng bắt đầu) và cuối cùng gọi shutdown -r now
lệnh để khởi động lại máy
Ngày nay không có nhiều khác biệt vì cả hai lệnh đều thực hiện giống hệt nhau và chúng tôn trọng các tập lệnh init được sử dụng để bắt đầu dịch vụ / trình nền bằng cách gọi các tập lệnh tắt cho chúng. Ngoại trừ reboot -f -r now
như đã nêu dưới đây
Có một lời giải thích nhỏ được lấy từ các trang hướng dẫn về lý do reboot -f
không an toàn:
-f, - lực lượng Buộc dừng ngay lập tức, tắt nguồn, khởi động lại. Đừng liên hệ với hệ thống init.
Biên tập:
Quên đề cập đến, trong các bản phân phối RHEL sắp tới, bạn nên sử dụng systemctl
lệnh mới để phát hành poweroff / restart. Như đã nêu trong các trang của reboot
và shutdown
chúng là "một lệnh kế thừa chỉ dành cho khả năng tương thích." và systemctl
phương pháp sẽ là duy nhất an toàn.
init 1 -> shutdown -r
?
Tắt máy là thích hợp hơn vì nó cho phép bạn chỉ định lý do cho hành động quyết liệt - điều bạn nên luôn luôn làm. Thông điệp sẽ được ghi lại trong (các) nhật ký cho hậu thế. Ví dụ:
shutdown -r now 'Kernel upgrade requires reboot'
Bạn cũng có thể thực hiện khởi động lại theo lịch trình - bằng cách chỉ định một cái gì đó ngoài now
thời gian khởi động lại:
shutdown -r 22:00 'Work around kernel memory leak'
Sau đó, người dùng của bạn sẽ nhận được lời nhắc định kỳ để thoát ra khi thời gian đến gần - quá trình sẽ có trật tự và chuyên nghiệp hơn.
Trên các đơn vị truyền thống, reboot
và shutdown -r now
là các lệnh rất khác nhau. Theo cách sử dụng thông thường, reboot
chỉ an toàn khi sử dụng ở chế độ người dùng.
shutdown -r now
là phương pháp chính tắc để tắt máy trên các * nix khác nhau và an toàn hơn để sử dụng nói chung và tương đương về mặt chức năng init 6
.
Trên FreeBSD có sự khác biệt giữa reboot
và shutdown -r now
. Từ reboot
trang người đàn ông:
Thông thường, tiện ích tắt máy (8) được sử dụng khi hệ thống cần tạm dừng hoặc khởi động lại, giúp người dùng cảnh báo trước về sự diệt vong sắp xảy ra của họ và chấm dứt hoàn toàn các chương trình cụ thể.