Tại sao không chạy chương trình sudo sudo ngay bây giờ thì đóng cửa?


87

Khi tôi phát hành như sau:

sudo shutdown now

.. máy chủ Ubuntu 14.04 mới được ủy quyền không tắt. Nó dừng lại với thông báo sau:

* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):

Nếu tôi nhập mật khẩu gốc, máy chỉ cần nằm ở dấu nhắc shell.



5
Đóng cử tri: Đây không phải là một bản sao. Trong khi các câu hỏi tương tự như câu hỏi này là về một lệnh cụ thể, thì cách khác là tắt máy từ dòng lệnh.
Seth

Câu trả lời:


138

Theo truyền thống, lệnh sudo shutdown nowsẽ đưa bạn đến runlevel 1 (chế độ phục hồi); điều này sẽ xảy ra cho cả Upstart và SysV init. Để có được những gì bạn muốn, tức là tắt máy tính đúng cách, bạn cần phải -hchuyển sang shutdown.

Một điều cần lưu ý ở đây là haltsẽ đóng tất cả các quy trình, tắt CPU và trả lại điều khiển cho màn hình ROM của bo mạch chính cần người dùng nhấn nút nguồn để tắt nguồn điện, trong khi poweroffsau khi tắt CPU sẽ chỉ đơn giản là tắt nguồn cung cấp dẫn đến tắt máy thích hợp.

Việc -hchuyển đổi shutdowný chí halthoặc poweroffmáy tính, quyết định sẽ được đưa ra bởi hệ thống mặc dù trong Ubuntu tôi đã thấy rằng nó sẽ bình thường powerofflà máy. Để chắc chắn về điều đó, bạn có thể sử dụng -Pchuyển đổi với shutdowntới poweroffmáy tính.

Tóm lại, đây là các lệnh có sẵn cho poweroff( không halt ) một máy tính:

sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0

Các lệnh poweroffhaltvề cơ bản gọi shutdown(ngoại trừ poweroff -f). sudo poweroffsudo halt -pchính xác như thế sudo shutdown -P now. Lệnh sudo init 0sẽ đưa bạn đến runlevel 0 ( tắt máy ).

Bây giờ nếu bạn muốn tắt mạnh mẽ, tức là bạn không muốn đợi các quá trình đóng bình thường thì sao? Trong trường hợp đó bạn có thể sử dụng:

sudo poweroff -f

Điều này sẽ không sử dụng shutdown. Thay vào đó, nó sẽ gọi reboot(2)cuộc gọi hệ thống (được sử dụng để khởi động lại, tắt nguồn & tạm dừng) để tắt máy tính ngay lập tức.


2
Hoặc, kết hợp tắt máy 'ngay bây giờ' với 'poweroff':sudo shutdown -P now
david6

3
Bạn có ý nghĩa gì khi "tắt máy mạnh mẽ"? Theo một trang người đàn ông , -ftùy chọn chỉ bỏ qua fsckkhi khởi động lại. Và theo trang người đàn ông của Ubuntu, không có lựa chọn nào như vậy cả.
Ruslan

1
@Ruslan: Có lẽ nhầm lẫn nó với halt -f/ poweroff -f, bỏ qua init và nói với kernel trực tiếp để cắt điện. Đó mạnh mẽ.
grawity

1
Máy tính xách tay của tôi cảm ơn bạn! Tôi thực sự bị treo lên cái này và luôn luôn sử dụng nút nguồn, nhưng bây giờ tôi biết! Việc dừng lại là giữ cho hệ thống của tôi hoạt động, nhưng nguồn điện thực sự tắt nó. Cảm ơn nhiều! :-)
Terrance

1
@RGG Tôi khuyên bạn nên chạy synctrước lệnh này, vì lệnh này bỏ qua mọi thứ có thể vẫn còn trong bộ đệm. syncsẽ buộc ghi vào bộ nhớ cache vào đĩa, sau đó bạn có thể tắt nguồn.
Terrance

15

Tôi khá chắc chắn rằng lệnh chính xác cần phải chứa tùy chọn "-h" (tạm dừng). Thử đi:

sudo shutdown -h now

6

Đó là một di sản từ thời mà cỗ máy vật lý không thể tự tắt. Ví dụ, lệnh tạm dừng sudo haltchấm dứt tất cả các chương trình và dỡ bỏ hầu hết mọi thứ từ RAM, sẵn sàng để tắt nguồn. Tuy nhiên, nếu bạn chạy sudo halt -p, nó sẽ làm tất cả những điều đó, sau đó báo hiệu hệ thống tắt nguồn, hoặc trong trường hợp shutdownlệnh, bạn cần -atùy chọn, tôi tin, mặc dù cá nhân tôi sử dụng halt.


Điều gì xảy ra nếu tôi luôn tắt máy tính bằng lệnh này?
Nullpulum

-1

Tôi đã luôn luôn sử dụng như sau

sudo shutdown -a now

hoặc khởi động lại ngay sau khi tắt máy

sudo shutdown -r now

Nhìn vào tùy chọn trợ giúp tắt máy, nó không liệt kê - đây là một lệnh thích hợp, nhưng tôi có thể đã tuyên thệ từ lâu - một lần hủy bỏ hoặc một cái gì đó tương tự. Dù sao tôi vẫn tiếp tục sử dụng nó và nó đã hoạt động trong suốt những năm qua, nhưng có vẻ như tắt máy - giờ đây là lựa chọn chính xác.


1
Có thể bạn đang nghĩ về lệnh Windows shutdown /a, lệnh hủy bỏ việc tắt máy (tương đương với shutdown -cUbuntu).
deltab

@deltab Vâng, đó phải là những gì tôi nghĩ về sau đó. Kỳ lạ là tắt máy - một công việc cho tôi mặc dù.
NPIC
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.