Khai Dân Trí
  • Home
  • Sức khỏe
    • All
    • Các bệnh

    Xét nghiệm quét xương được sử dụng như thế nào cho bệnh ung thư tuyến tiền liệt?

    Hiểu biết về bệnh đa u tủy di căn

    Rhodiola Rosea và Ashwagandha có phối hợp tốt với nhau không?

    OCD là do di truyền hay môi trường?

    • Các bệnh
  • Công nghệ
    • Điện thoại & Máy tính
  • Bách khoa toàn thư
No Result
View All Result
  • Home
  • Sức khỏe
    • All
    • Các bệnh

    Xét nghiệm quét xương được sử dụng như thế nào cho bệnh ung thư tuyến tiền liệt?

    Hiểu biết về bệnh đa u tủy di căn

    Rhodiola Rosea và Ashwagandha có phối hợp tốt với nhau không?

    OCD là do di truyền hay môi trường?

    • Các bệnh
  • Công nghệ
    • Điện thoại & Máy tính
  • Bách khoa toàn thư
No Result
View All Result
Khai Dân Trí
No Result
View All Result
Home Công nghệ Điện thoại & Máy tính

“Quá trình Zombie” trên Linux là gì?

by Trọng Hiếu
20/10/2020
in Điện thoại & Máy tính
0

Nếu bạn là người dùng Linux, bạn có thể đã thấy các quy trình zombie lộn xộn xung quanh danh sách quy trình của mình. Bạn không thể giết một quy trình zombie vì nó đã chết – giống như một zombie thực sự.

Zombies về cơ bản là những phần còn sót lại của các quá trình chết chưa được dọn dẹp đúng cách. Một chương trình tạo các quy trình zombie không được lập trình đúng cách – các chương trình không được phép để các quy trình zombie tồn tại.

Quá trình Zombie là gì?

Để hiểu quy trình zombie là gì và nguyên nhân khiến quy trình zombie xuất hiện, bạn sẽ cần hiểu một chút về cách hoạt động của các quy trình trên Linux.

Khi một tiến trình chết trên Linux, tất cả nó không bị xóa khỏi bộ nhớ ngay lập tức – bộ mô tả quá trình của nó vẫn nằm trong bộ nhớ (bộ mô tả quá trình chỉ chiếm một lượng nhỏ bộ nhớ). Trạng thái của quy trình trở thành EXIT_ZOMBIE và cha của quy trình được thông báo rằng quy trình con của nó đã chết với tín hiệu SIGCHLD. Tiến trình mẹ sau đó được cho là thực hiện lệnh gọi hệ thống wait () để đọc trạng thái thoát của tiến trình chết và các thông tin khác. Điều này cho phép tiến trình mẹ lấy thông tin từ tiến trình chết. Sau khi wait () được gọi, tiến trình zombie sẽ bị xóa hoàn toàn khỏi bộ nhớ.

Điều này thường xảy ra rất nhanh, vì vậy bạn sẽ không thấy các quá trình zombie tích tụ trên hệ thống của mình. Tuy nhiên, nếu một tiến trình cha không được lập trình đúng cách và không bao giờ gọi wait (), các con zombie của nó sẽ lưu lại trong bộ nhớ cho đến khi chúng được dọn dẹp.

Các tiện ích như GNOME System Monitor, hàng đầu lệnh, và ps lệnh hiển thị các quy trình zombie.

hình ảnh

Nguy hiểm của quá trình Zombie

Quá trình xác sống không sử dụng bất kỳ tài nguyên hệ thống nào. (Trên thực tế, mỗi tiến trình sử dụng một lượng rất nhỏ bộ nhớ hệ thống để lưu trữ bộ mô tả quy trình của nó.) Tuy nhiên, mỗi tiến trình zombie vẫn giữ lại ID tiến trình (PID) của nó. Hệ thống Linux có một số lượng ID quy trình hữu hạn – 32767 theo mặc định trên hệ thống 32 bit. Nếu zombie đang tích lũy với tốc độ rất nhanh – ví dụ: nếu phần mềm máy chủ được lập trình không đúng đang tạo ra các quy trình zombie dưới tải – thì toàn bộ nhóm PID có sẵn cuối cùng sẽ được gán cho các quy trình zombie, ngăn các quy trình khác khởi chạy.

Tuy nhiên, một vài quy trình zombie xung quanh không có vấn đề gì – mặc dù chúng chỉ ra một lỗi với quy trình mẹ của chúng trên hệ thống của bạn.

hình ảnh

Thoát khỏi quá trình Zombie

Bạn không thể tiêu diệt các quy trình zombie vì bạn có thể giết các quy trình bình thường bằng tín hiệu SIGKILL – các quy trình zombie đã chết. Hãy nhớ rằng bạn không cần phải loại bỏ các quy trình zombie trừ khi bạn có một số lượng lớn trong hệ thống của mình – một số ít zombie là vô hại. Tuy nhiên, có một số cách bạn có thể thoát khỏi các tiến trình của zombie.

Một cách là gửi tín hiệu SIGCHLD đến tiến trình mẹ. Tín hiệu này cho tiến trình cha thực hiện lệnh gọi hệ thống wait () và dọn dẹp các zombie con của nó. Gửi tín hiệu với giết chết lệnh, thay thế pid trong lệnh bên dưới với PID của quy trình mẹ:

kill -s SIGCHLD pid

Tuy nhiên, nếu quy trình mẹ không được lập trình đúng cách và đang bỏ qua các tín hiệu SIGCHLD, thì điều này sẽ không hữu ích. Bạn sẽ phải giết hoặc đóng tiến trình cha mẹ của thây ma. Khi quá trình tạo ra các thây ma kết thúc, init kế thừa các quá trình thây ma và trở thành cha mẹ mới của chúng. (init là quá trình đầu tiên được bắt đầu trên Linux khi khởi động và được gán PID 1.) init thực hiện định kỳ lệnh gọi hệ thống wait () để dọn dẹp các zombie con của nó, vì vậy init sẽ thực hiện ngắn gọn các zombie. Bạn có thể khởi động lại quy trình mẹ sau khi đóng nó.

Nếu một tiến trình cha mẹ tiếp tục tạo ra các thây ma, thì quy trình đó nên được sửa để nó gọi đúng quy trình wait () để gặt hái các thây ma con của nó. Gửi báo cáo lỗi nếu một chương trình trên hệ thống của bạn tiếp tục tạo ra thây ma.

Tags: gìlàLinuxQuátrêntrìnhZombie
Trọng Hiếu

Trọng Hiếu

Xem thêm

Cách ẩn ứng dụng trên Android năm 2023
Điện thoại & Máy tính

Cách ẩn ứng dụng trên Android năm 2023

28/09/2023
Cách xóa bộ nhớ đệm của Google Drive (Máy tính để bàn và thiết bị di động)
Điện thoại & Máy tính

Cách xóa bộ nhớ đệm của Google Drive (Máy tính để bàn và thiết bị di động)

28/09/2023
10 lựa chọn thay thế Whatsapp tốt nhất năm 2023
Điện thoại & Máy tính

10 lựa chọn thay thế Whatsapp tốt nhất năm 2023

28/09/2023
Cách định dạng ổ USB trên Windows 11 (4 phương pháp)
Điện thoại & Máy tính

Cách định dạng ổ USB trên Windows 11 (4 phương pháp)

28/09/2023
Windows 11 KB5030310 23H2 Tính năng ra mắt, Tải xuống trực tiếp (Trình cài đặt ngoại tuyến)
Điện thoại & Máy tính

Windows 11 KB5030310 23H2 Tính năng ra mắt, Tải xuống trực tiếp (Trình cài đặt ngoại tuyến)

27/09/2023
Khám phá Bộ bảo mật Internet MonoDefense: Tính năng & Lợi ích
Điện thoại & Máy tính

Khám phá Bộ bảo mật Internet MonoDefense: Tính năng & Lợi ích

27/09/2023
Cách sửa chữa Windows 11 vào năm 2023 (7 phương pháp)
Điện thoại & Máy tính

Cách sửa chữa Windows 11 vào năm 2023 (7 phương pháp)

27/09/2023
Tải xuống công cụ xóa nền ứng dụng Paint và cách sử dụng
Điện thoại & Máy tính

Tải xuống công cụ xóa nền ứng dụng Paint và cách sử dụng

27/09/2023
Rockstar có mang Red Dead Redemption 2 lên Nintendo Switch không?
Điện thoại & Máy tính

Rockstar có mang Red Dead Redemption 2 lên Nintendo Switch không?

27/09/2023

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Bài viết mới

Xét nghiệm quét xương được sử dụng như thế nào cho bệnh ung thư tuyến tiền liệt?

29/09/2023

Hiểu biết về bệnh đa u tủy di căn

29/09/2023

Rhodiola Rosea và Ashwagandha có phối hợp tốt với nhau không?

28/09/2023

OCD là do di truyền hay môi trường?

28/09/2023
Khai Dân Trí

Website phổ biến kiến thức, tin tức và bình luận, nhằm nâng cao dân trí.

No Result
View All Result
  • Home
  • Sức khỏe
    • Các bệnh
  • Công nghệ
    • Điện thoại & Máy tính
  • Bách khoa toàn thư

© 2023 JNews - Premium WordPress news & magazine theme by Jegtheme.