B가 C를 실행하고, C가 죽기 전에 B가 죽었다면, C의 parent는 init로 re-parent되기 때문에, A의 입장에서 C의 pid를 알기는 힘듭니다.
일반적으로 child process는 parent pid를 쉽게 알 수 있지만, parent process에서 (모든) child pid를 알기는 힘듭니다. 직접 /proc/ 을 뒤지든지, 아니면 libgtop과 같은 라이브러리를 써서 찾는 방법 밖에 떠 오르지 않네요.
한가지 방법은 C 프로그램이 실행되면 /var/run/ 등의 위치에 pid를 기록해 놓고 다른 곳에서 참고하는 것입니다. 몇몇 daemon들이 흔히 쓰는 방법입니다.
B 프로그램을 고칠 수 있는 상황인가요? B가 C를
B 프로그램을 고칠 수 있는 상황인가요?
B가 C를 실행하고, C가 죽기 전에 B가 죽었다면, C의 parent는 init로 re-parent되기 때문에, A의 입장에서 C의 pid를 알기는 힘듭니다.
일반적으로 child process는 parent pid를 쉽게 알 수 있지만, parent process에서 (모든) child pid를 알기는 힘듭니다. 직접 /proc/ 을 뒤지든지, 아니면 libgtop과 같은 라이브러리를 써서 찾는 방법 밖에 떠 오르지 않네요.
한가지 방법은 C 프로그램이 실행되면 /var/run/ 등의 위치에 pid를 기록해 놓고 다른 곳에서 참고하는 것입니다. 몇몇 daemon들이 흔히 쓰는 방법입니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
A 프로그램외 수정할수 있는게 없습니다 ㅠㅠ
A 프로그램외 수정할수 있는게 없습니다 ㅠㅠ
중요한건....
윈도우 환경인데 어떻게;;; 프로세스를 뒤져보냐;;; 이게 문제죠 으헣헣헣 ㅠㅠ
댓글 달기