본문 바로가기

프로세스13

728x90
Windows 프로세스 모니터링 및 관리 시스템에서 프로세스를 사용 중인 경우 가끔 주어진 시간에 실행되고 있는 모든 프로세스를 볼 필요가 있습니다. 예를 들어, 프로세스 중지 기능을 제공하는 응용 프로그램을 만들려면 먼저 어느 프로세스가 실행되고 있는지 알아야 합니다. 목록 상자를 프로세스 이름으로 채우고 각각 다른 작업을 수행하는 프로세스를 선택할 수 있습니다. 실행 중인 프로세스를 보려면 Process 형식의 빈 배열을 선언합니다. 빈 배열을 GetProcesses 메서드의 반환 값으로 채웁니다. 배열에서 각 프로세스의 이름을 얻으려면 인덱싱된 값을 사용하여 프로세스 배열을 검색하고 콘솔에 씁니다. 다음 예제에서는 Process 구성 요소의 GetProcesses 메서드를 호출하여 프로세스 배열을 반환하고 콘솔에 ProcessName 값을.. 2010. 1. 6.
실행중인 프로세스 디버깅 덤프 및 강제종료 간혹, 실행 중인 프로세스의 덤프 파일을 생성해야하는 경우가 있습니다. 보통, 비정상적으로 동작하는 프로그램이 있는데, 이를 디버깅 환경이 갖추어진 다른 시스템에서 버그를 찾아보려고 할 경우, 그 프로세스의 덤프 파일을 생성한 뒤 이를 디버깅 시스템으로 가져가기 위해 사용하곤 합니다. 실행 중인 프로세스의 덤프 파일을 생성하는 방법으로는 userdump 나 ADPlus 를 이용하는 방법 등 다양하게 있겠지만 NTSD (NT Symbolic Debugger) 를 이용하는 방법도 있습니다. NTSD의 장점으로는 우선 XP를 비롯한 여러 윈도우에 기본으로 설치가 되어 있다는 점을 들 수 있습니다. 물론, 최신 버전을 설치한다면 추가된 기능들을 사용하는 것도 가능하겠지요. 또한 단순히 덤프 파일만 생성하는 기능.. 2009. 9. 4.
프로세스 시스템 콜 모니터링 (strace,ltrace,truss) 시스템을 운영하다보면 어떤 이상한? 문제가 발생하기도 한다. 이런 프로세스의 문제를 분석하기 위하여 사용하는 도구가 trace유틸리티이다. 그럼 사용법을 알아보자 strace는 System-call tracer라는 의미로 프로세스가 호출하는 시스템 콜을 보여준다. 아래의 명령으로 확인 가능하다. # strace -fFp [수행 중인 서버 PID] f는 fork되는 자식 프로세스를 포함 F는 vfork에 의해 생성된 자식 프로세스를 포함 p는 PID를 지정한다는 말이다. 예) # strace -fFp 9563 select(0, NULL, NULL, NULL, {0, 500000}) = 0 (Timeout) kill(11609, SIG_0) = 0 stat64("/tmp/pth_deamon/11609.pid.. 2009. 8. 17.
strace를 통한 프로세스 문제 진단 시스템을 운영하다보면 어떤 이상한? 문제가 발생하기도 한다. 이런 프로세스의 문제를 분석하기 위하여 사용하는 도구가 trace유틸리티이다. 그럼 사용법을 알아보자 strace는 System-call tracer라는 의미로 프로세스가 호출하는 시스템 콜을 보여준다. 아래의 명령으로 확인 가능하다. # strace -fFp [수행 중인 서버 PID] f는 fork되는 자식 프로세스를 포함 F는 vfork에 의해 생성된 자식 프로세스를 포함 p는 PID를 지정한다는 말이다. 예) # strace -fFp 9563 select(0, NULL, NULL, NULL, {0, 500000}) = 0 (Timeout) kill(11609, SIG_0) = 0 stat64("/tmp/pth_deamon/11609.pid.. 2009. 5. 31.
[Linux C++] 프로세스 & 좀비 프로세스 1. 좀비 프로세스란? - 프로세스 종료 후, 메모리에서 사라지지않는 프로세스를 말합니다. 2. 좀비 프로세스가 생성되는 이유? - 자식 프로세스는 수행종료 후 부모 프로세스에게 실행 결과에 대한 리턴값을 넘겨줘야 합니다. 그리고 부모 프로세스 역시 이 리턴값을 받아야 자식 프로세스가 좀비가 되는 문제를 막을 수 있습니다. 첫번째 그림은 자식 프로세스가 실행을 마치고, 실행 결과에 대한 리턴값(0)을 커널에 넘겼지만, 부모 프로세스가 이를 받지 않았습니다. 그래서 자식 프로세스는 좀비상태가 됩니다. 두번째 그림은 커널이 부모 프로세스에게 리턴값(0)을 전달하고, 그제서야 자식 프로세스가 소멸되는 것을 나타낸 것입니다. 리눅스 콘솔에서 ps -u 라고 입력하면 실행중인 프로세스 목록을 볼 수 있습니다. 위.. 2009. 5. 31.
728x90