ตัวจัดการกระบวนการคืออะไรและเรารู้อะไรได้บ้างเกี่ยวกับกระบวนการทำงานผ่านคุณสมบัติ "หมายเลขการตรวจนับ" ในตัวสำรวจงาน
ตัวจัดการกระบวนการคืออะไรและเรารู้อะไรได้บ้างเกี่ยวกับกระบวนการทำงานผ่านคุณสมบัติ "หมายเลขการตรวจนับ" ในตัวสำรวจงาน
คำตอบ:
ตัวจัดการกระบวนการเป็นค่าจำนวนเต็มที่ระบุกระบวนการให้กับ Windows Win32 API เรียกพวกเขาว่า HANDLE; หมายเลขอ้างอิงของ windows เรียกว่า HWND และหมายเลขอ้างอิงไปยังโมดูล HMODULE
เธรดภายในกระบวนการมีตัวจัดการเธรดและไฟล์และทรัพยากรอื่น ๆ (เช่นรีจิสตรีคีย์) ก็มีการจัดการเช่นกัน
จำนวนการจัดการที่คุณเห็นในตัวจัดการงานคือ " จำนวนของการจัดการวัตถุในตารางวัตถุของกระบวนการ " ผลคือนี่คือผลรวมของการจัดการทั้งหมดที่กระบวนการนี้เปิด
หากคุณไม่ได้ปล่อยของคุณจัดการกับทรัพยากรที่คนอื่นอาจจะไม่สามารถเข้าถึงได้ - นี่คือเหตุผลที่บางครั้งคุณไม่สามารถลบไฟล์เนื่องจาก Windows อ้างว่ามีการใช้งาน (ตรวจสอบบทความเกี่ยวกับการรั่วไหลของการจัดการและ Process Explorer )
นอกจากนี้ยังมีข้อ จำกัด ต่อกระบวนการสำหรับการจัดการต่างๆ นี่คือตัวอย่าง
โดยทั่วไปถ้าคุณเปิดที่จับและไม่ปิดมันก็คล้ายกับหน่วยความจำรั่ว คุณควรเข้าใจว่าเกิดอะไรขึ้นและแก้ไขมัน มีดีคือบทความ CodeProject ในการรั่วไหลของการจัดการ
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