CreateToolhelp32Snapshot을 써서 모든 프로세스가 아닌 특정 프로세스만의 쓰레드 정보를 얻을 수 있을 까요?

shkmanse의 이미지

제목이 전부이긴한데;

보통 CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0) 이렇게 써서 프로세스들의 쓰레드 정보 전부를 가지고 있다가
pid로 검색해 특정 프로세스의 쓰레드 정보를 가지고 왔었는데요
이렇게 말고 특정 pid를 알고 있다면 모든 쓰레드 정보를 가지고 오지 말고(여기서는 두번째 파라미터가 0을 넣어서
인듯한데,,그곳에 특정 pid넣어도 다 가져온다는;;)
특정 pid의 쓰레드 정보들만 가지고 오게 할 수 있는 방법이 없을까요?

아시는 분 조언 부탁드리겠습니다ㅠ

bacon의 이미지

http://msdn.microsoft.com/en-us/library/ms682489%28v=vs.85%29.aspx

첫번째 인자가 TH32CS_SNAPHEAPLIST, TH32CS_SNAPMODULE, TH32CS_SNAPMODULE32, TH32CS_SNAPALL인 경우에만 특정프로세스를 지정할수 있습니다. TH32CS_SNAPTHREAD이면 pid는 무시되고 시스템전체 쓰레드를 모두 가져온다고 되어 있네요. THREAD32의 th32OwnerProcessID필드를 검사해서 특정 프로세스에 속하는지 보라고 되어 있군요.

그러므로 지금 하고 있는 방법이 최선인듯 한데요.

shkmanse의 이미지

이럴 수 밖에 없나보군요; 시스템상에서 돌고있는 프로세들이 많다고 가정했을 때 쓰레드도 만만치 않게 많아서 모든 쓰레드들을
가져오는 저 API에서 CPU 점유율이 순간적으로 튀는 것 같아 질문했었던 건데 ,, 어쩔 수 없나보군요 ㅠ 다른 방법을 찾아봐야 겠네요
암튼 답변 감사드립니다^^

익명 사용자의 이미지

다른방법으로는 직접 커널의 process list에 접근하는 겁니다.
이게 어떤 환경에서 개발하시는가에 따라 다른데, cpu 점유량은 덜 사용하실 수 있을겁니다.

익명 사용자의 이미지

다른방법으로는 직접 커널의 process list에 접근하는 겁니다.
이게 어떤 환경에서 개발하시는가에 따라 다른데, cpu 점유량은 덜 사용하실 수 있을겁니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.