/proc는 커널/드라이버 공간을 위해 엄격하게 예약되어 있습니까?

/proc는 커널/드라이버 공간을 위해 엄격하게 예약되어 있습니까?

사용자 공간 애플리케이션이나 데몬을 개발할 때 특정 형태의 구성 요소 상태를 제공하는 것이 좋은 설계 방법입니다. 나는 종종 이 목적으로 /proc 사용을 고려했습니다. 이것이 허용되는 솔루션입니까? 어쩌면 /proc 서비스를 복제하는 사용자 공간 라이브러리가 있을까요?

내가 찾은 대부분의 다른 참고 자료는 /proc가 커널 및 드라이버 개발자를 위해 예약되어 있음을 나타냅니다.

답변1

실제로 /proc는 커널 공간용으로 예약되어 있습니다. Linux에서는 특별한 fs 유형 "procfs"이며, 각 파일은 커널 내의 함수에 대한 핸들러입니다.

사용자 공간에 있는 동안에는 /proc에 폴더/파일을 생성할 수 없습니다. 프로세스와 통신하기 위해 커널 모듈을 만들 수 있지만 심각한 보안 문제가 발생할 수 있으므로 이는 좋은 생각이 아닙니다. 말할 필요도 없이 문제가 발생하면 메모리가 손상될 위험이 큽니다.

어쨌든 inotify 라이브러리(사용자 영역 및 커널)를 예로 들 수 있습니다.맨페이지 보기다음은 /proc에 항목을 생성하기 위한 커널 모듈 코드의 예입니다.http://linux.die.net/lkmpg/x769.html

즐거운 해킹되세요 :)

관련 정보