Tôi không đề nghị làm như sau nếu bạn không bị ép buộc bởi những lý do thực sự đặc biệt:
kill -SEGV 1 # should generate a core dumps and kernel panic
kill -ABRT 1 # should generate a core dumps and kernel panic
kill -9 1 # On old systems worked nowadays not
Nó thô ráp, tàn bạo và nó có thể được coi là tương đương với việc rút dây nguồn ...
Cách chính xác là shutdown -h now
với sudo
trước khi cần thiết.
Có lẽ tôi nên nói một cách hợp pháp ; xem bên dưới hoặc tốt hơn tl; dr.
Một số từ nữa , còn gọi là Câu chuyện, Chương I
Lúc ban đầu là init và nó sẽ đến cuối cùng.
Toàn bộ Linux phụ thuộc vào sự chăm sóc yêu thương của init [ 1 ] [ 2 ] . Tuy nhiên và không phải không có một sự vô ơn nhất định, đã có lúc người dùng gốc Chúa tốt có thể phản bội tình yêu này và đột nhiên bắt đầu kill
với một -9
trật tự không thể thay đổi ( ).
( Sách Nghi thức quy định về số lượng, công tước và diễu hành người dùng để gọi trước a sudo
).
Sau đó, một số pháp sư đã tạo ra một cơ duyên để bảo vệ init (từ Sách man 2 init
)
Các tín hiệu duy nhất có thể được gửi để xử lý ID 1, quá trình init, là các tín hiệu mà init đã cài đặt rõ ràng các trình xử lý tín hiệu. Điều này được thực hiện để đảm bảo hệ thống không bị vô tình đưa xuống.
(Gián điệp của chúng tôi báo cáo [ U1 ] mà init sẽ xử lý 1 HUP 6 ABRT 11 SEGV 15 HẠN 30 PWR 2 INT 10 USR1 14 ALRM 17 CHLD 32)
Vì vậy, tốt Chúa dùng root học những tin tức và thay đổi lệnh trong kill -ABRT 1
hoặc kill -SEGV 1
thường tạo ra một hạt nhân hoảng loạn và một bãi chứa lõi.
Nó hoạt động vì init là quá trình đầu tiên để chạy và lấy số PID 1 [ 2b ] .
Điều này là không an toàn, không khôn ngoan và bạn cảm thấy đó là điềm xấu và một lời nguyền nhưng nếu bạn không thể đặt tay lên và rút nó ra ...
Lời nguyền : nó sẽ không ghi vào nhật ký, nó sẽ không giết tất cả các tiến trình và chờ kết thúc của nó, nó sẽ không ghi vào ổ cứng cập nhật đúng các nút cũng không ngắt kết nối các hệ thống tập tin; thậm chí đừng bận tâm rằng nó sẽ lưu các tùy chọn của cửa sổ đồ họa và lịch sử vỏ, và nhiều thứ khác ngoài sức tưởng tượng của chúng tôi ... như chúng tôi đã nói tương đương với việc rút hợp âm điện hoặc pin nếu máy tính xách tay.
Cách chính xác
"Non nobis, Domine, non nobis, sed nomini tuo da gloriam.", Phương châm hiệp sĩ Templar.
Cách hợp pháp (chính xác) là sử dụng shutdown
[ 3 ]
sudo shutdown -h now
tắt máy sắp xếp cho hệ thống được đưa xuống một cách an toàn. Tất cả người dùng đã đăng nhập đều được thông báo rằng hệ thống đang hoạt động và ...
nhưng với -h now
họ sẽ không có đủ thời gian để làm quá nhiều ...
Một số từ nữa , còn gọi là Câu chuyện, Chương II Ngày
xửa ngày xưa, một số bước logic cảm nhận từ bầu trời trên những người unix:
Khi các quy trình hệ thống đã bị hủy và các hệ thống tập tin đã bị ngắt kết nối, hệ thống sẽ dừng / tắt nguồn hoặc tự động khởi động lại. Điều này được thực hiện bằng cách sử dụng lệnh tạm dừng hoặc khởi động lại, đồng bộ hóa các thay đổi thành đĩa và sau đó thực hiện tạm dừng / tắt nguồn hoặc khởi động lại thực tế. [ 4 ]
Thật vậy, ngày nay, chúng ta không tin tưởng nữa trong sự tồn tại của ba Moirai [ 5 ] của thế giới Linux , reboot
, poweroff
và halt
[ 6 ] : các khoa học hiện đại của ls -l $(which poweroff halt reboot)
và một trong những man reboot
, lây lan ánh sáng mới về thời kỳ đen tối này và tiết lộ chúng tôi rằng nó chỉ tồn tại một lệnh thực sự phân tích tất cả các tùy chọn của chúng để cuối cùng chúng ta có thể tự do yêu cầu các hành động mâu thuẫn với tên lệnh của chúng! ( halt -p
hoặc reboot -p
cho poweroff
, shutdown -r
cho reboot
...)
Bây giờ tất cả dường như đã rõ ràng và ấm cúng cho tất cả, các tin đồn cho rằng [ 7 ] rằng trong thế giới ngầm của bộ công cụ hệ thống [ 8 ], một cuộc cách mạng đã được thực hiện khiến cả thế giới không biết . Nhờ có một đội quân tương thích ngược, chúng tôi không nhận thấy rằng tất cả việc khởi động lại, tắt nguồn, tạm dừng [ 6 ] và thậm chí telinit [ 9 ] và tắt máy [ 3 ] đều đã được gắn kết với hệ thống vua mới [ 10 ]. Xin hãy lắng nghe toàn bộ câu chuyện từ giọng nói gốc của JdeBP The Bard [ 9 ] bởi vì tôi không còn hơi thở nữa.
Nếu bạn là tín đồ của giáo phái Ubuntu, bạn vẫn có thể nhận thức được một lúc về tất cả những tuyên bố đó [ 11 ] .
Trái đất giữa halt -f
, init
, telinit
, systemctl
Đang tìm kiếm các giải pháp nhanh hơn so với điều đúng nhưng tương tự như vậy khôn ngoan.
systemctl --force --force poweroff # the most close to kill -9 1
systemctl --force poweroff # rough but still safe
sudo halt -f # rough
sudo telinit 0 # or 6 # safe
kill -SIGINT 1 # cause reboot as the reboot command
kill -SIGRTMIN+4 1 # cause shutdown as the halt command
Rằng bạn có bị systemd hay không, bạn sẽ có thể dừng máy tính mà không cần gọi tất cả các thủ tục shudown chính xác (và nhanh hơn nữa):
halt -f
: chỉ định tùy chọn-f
(lưu ý rằng bạn cần -f
tránh quy trình tắt máy) bằng lệnh trên, có sudo poweroff -f
hoặc thậm chí với sudo reboot -f -h
. Thật vậy, chúng ta có thể đọc từ man reboot
(và tương đương) về nhu cầu chỉ định tùy chọn -f
cần tránh để tắt máy:
Khi được gọi bằng --force hoặc khi ở runlevel 0 hoặc 6, công cụ này sẽ tự gọi hệ thống khởi động lại (2) (với đối số REBOOTCOMMAND được truyền) và trực tiếp khởi động lại hệ thống .
Mặt khác, điều này chỉ đơn giản gọi công cụ shutdown (8) với các đối số thích hợp mà không truyền đối số REBOOTCOMMAND.
-f, --force
Không gọi tắt máy (8) và thay vào đó thực hiện hành động thực tế mà bạn mong đợi từ tên .
Ngoài ra, bạn có thể sử dụng telinit
[ 2b ] (hoặc init
trực tiếp)
sudo telinit 0 # or 6
để bảo init thay đổi runlevel ... nhưng nếu vậy tại sao không giết nó trực tiếp?
Trong systemd, bạn có thể sử dụng tùy chọn kép không khôn ngoan --force --force
systemctl --force --force poweroff
Đọc từ hướng dẫn systemctl [ 10 ]
-f, --force
Khi được sử dụng với enable, ghi đè mọi liên kết xung đột hiện có.
Khi sử dụng với halt
, poweroff
,reboot
hoặc kexec, thực hiện các hoạt động được lựa chọn mà không cần tắt tất cả các đơn vị. Tuy nhiên, tất cả các quy trình sẽ bị giết một cách cưỡng bức và tất cả các hệ thống tệp không được đếm hoặc chỉ đọc lại. Do đó, đây là một lựa chọn quyết liệt nhưng tương đối an toàn để yêu cầu khởi động lại ngay lập tức. Nếu --force được chỉ định hai lần cho các hoạt động này, chúng sẽ được thực thi ngay lập tức mà không chấm dứt bất kỳ quy trình nào hoặc ngắt kết nối bất kỳ hệ thống tệp nào. Cảnh báo: chỉ định - buộc hai lần với bất kỳ thao tác nào trong số này có thể dẫn đến mất dữ liệu.
Ps> Lấy cảm hứng về các biến thể từ đuôi JdeBP The Bard [ 7 ] .