ตัวจัดการกระบวนการคืออะไร


17

ตัวจัดการกระบวนการคืออะไรและเรารู้อะไรได้บ้างเกี่ยวกับกระบวนการทำงานผ่านคุณสมบัติ "หมายเลขการตรวจนับ" ในตัวสำรวจงาน

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


25

ตัวจัดการกระบวนการเป็นค่าจำนวนเต็มที่ระบุกระบวนการให้กับ Windows Win32 API เรียกพวกเขาว่า HANDLE; หมายเลขอ้างอิงของ windows เรียกว่า HWND และหมายเลขอ้างอิงไปยังโมดูล HMODULE

เธรดภายในกระบวนการมีตัวจัดการเธรดและไฟล์และทรัพยากรอื่น ๆ (เช่นรีจิสตรีคีย์) ก็มีการจัดการเช่นกัน

จำนวนการจัดการที่คุณเห็นในตัวจัดการงานคือ " จำนวนของการจัดการวัตถุในตารางวัตถุของกระบวนการ " ผลคือนี่คือผลรวมของการจัดการทั้งหมดที่กระบวนการนี้เปิด

หากคุณไม่ได้ปล่อยของคุณจัดการกับทรัพยากรที่คนอื่นอาจจะไม่สามารถเข้าถึงได้ - นี่คือเหตุผลที่บางครั้งคุณไม่สามารถลบไฟล์เนื่องจาก Windows อ้างว่ามีการใช้งาน (ตรวจสอบบทความเกี่ยวกับการรั่วไหลของการจัดการและ Process Explorer )

นอกจากนี้ยังมีข้อ จำกัด ต่อกระบวนการสำหรับการจัดการต่างๆ นี่คือตัวอย่าง

โดยทั่วไปถ้าคุณเปิดที่จับและไม่ปิดมันก็คล้ายกับหน่วยความจำรั่ว คุณควรเข้าใจว่าเกิดอะไรขึ้นและแก้ไขมัน มีดีคือบทความ CodeProject ในการรั่วไหลของการจัดการ


2

Handle คือค่าจำนวนเต็มซึ่งใช้เพื่อระบุออบเจกต์ ตัวอย่างเช่น:

int handle = open( "foo.txt", OTHER_STUFF_HERE );

open() คือ System Call ส่งกลับหมายเลขอ้างอิงขนาดเล็กที่ไม่ใช่ค่าลบสำหรับใช้ในการเรียกระบบครั้งต่อไป (อ่าน (2), เขียน (2), lseek (2), fcntl (2), ฯลฯ )

หมายเลขอ้างอิงของ Windows จะคล้ายกับ Unix file descriptor (FDs)


open()syscall ของwindows เลิกใช้แล้ว - docs.microsoft.com/en-gb/cpp/c-runtime-library/reference/open
yoniLavi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.