답변:
프로세스 핸들은 Windows에 대한 프로세스를 식별하는 정수 값입니다. Win32 API는 이들을 HANDLE이라고 부릅니다. 창 핸들을 HWND라고하며 모듈 HMODULE을 처리합니다.
프로세스 내부의 스레드에는 스레드 핸들이 있으며 파일 및 기타 리소스 (예 : 레지스트리 키)에도 핸들이 있습니다.
작업 관리자에 표시되는 핸들 수는 " 프로세스 개체 테이블의 개체 핸들 수 "입니다. 실제로 이것은이 프로세스가 연 모든 핸들의 합계입니다.
리소스에 대한 핸들을 해제하지 않으면 다른 사람이 해당 리소스에 액세스하지 못할 수 있습니다. 따라서 Windows에서 파일이 사용 중이라고 주장하여 파일을 삭제할 수없는 경우가 있습니다 ( 핸들 누출 및 프로세스 탐색기에 대한이 문서를 확인하십시오 ).
또한 다양한 핸들에는 프로세스 별 제한이 있습니다. 여기 예가 있습니다.
일반적으로 핸들을 열고 닫지 않으면 메모리 누수와 유사합니다. 무슨 일이 일어나고 있는지 알아 내고 고쳐야합니다. 핸들 누수에 대한 좋은 CodeProject 기사가 있습니다 .
open()
syscall은 더 이상 사용되지 않습니다 -docs.microsoft.com/en-gb/cpp/c-runtime-library/reference/open