Một câu trả lời nhanh là bạn đã giết sshd (và chúa biết những gì khác) và sẽ không thể đăng nhập lại vào hệ thống bằng SSH. Trừ khi bạn có một số phương pháp khác để có quyền truy cập vào hệ thống (như bảng điều khiển từ xa, IPMI, v.v.), bạn sẽ cần khởi động lại hệ thống sẽ khôi phục dịch vụ SSH và các dịch vụ khác.
Hy vọng rằng bạn có quyền truy cập vật lý vào hộp, trong trường hợp đó bạn có thể chỉ cần nhấn nút nguồn. Nhận ra rằng bạn đã giết nhiều quá trình và chuẩn bị cho một số tham nhũng. Linux được thiết kế để phục hồi sau sự cố hệ thống và về cơ bản bạn đã kích hoạt sự cố 'thủ công'. Hầu hết mọi thứ sẽ phục hồi tốt sau khi khởi động lại. Bạn có thể có tất cả các loại thông báo lỗi thú vị trong logfiles.
Câu trả lời dài:
Đây là một thử nghiệm tư duy tuyệt vời và một câu hỏi phỏng vấn công việc tốt. "Điều gì xảy ra nếu bạn đã làm X ..." Đây là một điều thú vị để thử trên máy ảo riêng của bạn, nhưng không bao giờ nên được thực hiện trên một hộp thực. Ai cũng mắc sai lầm. Ghi nhớ và học hỏi từ sai lầm của bạn. Phạm sai lầm là cách tốt nhất để học Phạm sai lầm trong sản xuất là một bài học đau đớn đôi khi sẽ xảy ra trong sự nghiệp của bạn.
pkill -KILL -u gốc
Lệnh này sẽ gửi một 'SIGKILL' (ví dụ: kill -9
KILL là bí danh của SIGKILL) cho tất cả các quy trình thuộc sở hữu của root. Đó là một điều rất xấu để làm trên một hệ thống. kill -9
nên tránh ngoại trừ như là một phương sách cuối cùng.
Lệnh của bạn mạnh mẽ giết chết tất cả các quy trình thuộc sở hữu gốc, các quy trình đã bị giết ngay lập tức và không có cơ hội để làm sạch. Để hiểu được những gì bạn đã giết, hãy đăng nhập vào một hộp Linux lành mạnh và liệt kê các quy trình được sở hữu bởi root, sử dụng một lệnh như một trong số này. Bạn thường không cần phải root để chạy các lệnh này:
$ pgrep -u root -l
$ ps aux | grep root
Bạn có thể đã giết init (PID # 1) để sinh ra các tiến trình mới. Hệ thống của bạn có thể không thể tạo ra các quy trình mới. Vì vậy, nó có thể tiếp tục hoạt động ngay bây giờ nhưng bị bệnh và cần được sửa chữa càng sớm càng tốt. Thời gian trôi qua, hệ thống sẽ ngày càng ốm yếu. Bạn càng đợi lâu nó sẽ càng tồi tệ hơn.
CẬP NHẬT: Máy chủ web vẫn đang chạy. Nhưng tôi không thể kết nối bằng SSH ngay bây giờ. Tôi không biết tôi đã làm gì.
Tôi đoán rằng bạn đang sử dụng Apache. Dường như các tiến trình con của máy chủ web vẫn đang chạy vì chúng không thuộc sở hữu của người dùng 'root'. Tuy nhiên, quy trình máy chủ web mẹ thường được sở hữu bởi root và bạn đã giết nó. Do đó, các quá trình con mới sẽ không sinh sản. Điều này sẽ ổn trong một thời gian, bởi vì bạn có thể có đủ các quy trình con để phục vụ các yêu cầu và thông thường các quy trình con đó sẽ tồn tại cho đến khi chúng bị giết hoặc chúng bị sập. Một lần nữa, cách khắc phục nhanh nhất là khởi động lại máy.