ps 명령어를 구현하고 있는데요.

zosowo의 이미지

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/proc/MakePS

여기에서는 C++로 제작되었더라구요.
코드 이해가 안가는 부분이 많습니다.
컴파일해봤는데 오류가 너무 많이나구요 ㅠ..

//ps 구현은 아래와 같이 하려고 합니다. //

1. PID 내의 디렉토리에서 숫자인 디렉토리를 고른다.
2. 숫자인 디렉토리 내부의 stat 을 읽는다.
3. stat 안에 내용을 공백을 구분으로 배열에 저장한다.
4. 출력한다.

위의 사이트에 있는 코드는 듣도보도 못한 시스템함수들이 많아서요. 머리아프네요 ㅠ

제가 궁금한건, 프로세스가 많이 있는데 상황에 따라 개수가 달라지는데 이를 저장하려면 어찌해야할까요?
배열에 구분해서 저장한다고해도, 프로세스 개수가 엄청많은데 프로세스 개수만큼 배열을 생성해놓을수도 없는 노릇이구요;
구조체를 사용해야할까요??
아 머리아프네요.

간단하게 알고리즘만 적어주실수 있나요?
아니면 관련 시스템함수좀 알려주세요! ㅠㅠ
혼자 공부하는데 벅차네요 ㅠㅠ

monovision의 이미지

프로세스는 링크드 리스트로 관리하고 stat 의 내용은 거의 대개 일정하니 구조체를 사용해도 무난할 것 같습니다.