C# parent & child process PID 찾기

2021. 12. 16. 11:36· Windows
반응형

C#에서 외부 프로그램을 실행시 외부 프로그램의 프로세스 부모&자식 PID를 찾는 방법입니다.

프로그램 종료시 자식 프로세스가 종료되지 못하는 경우 PID찾아 kill하면 될것 같습니다.

샘플은 크롬 브라우져 실행해서 PID를 가져오는 방법입니다.

 

ConsoleProcess.zip
0.02MB

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Management;
using System.IO;
using System.Diagnostics;
using System.Threading;
using Microsoft.Win32;

namespace ConsoleProcess
{
    /// <summary>
    /// https://www.codegrepper.com/code-examples/csharp/c%23+kill+process+by+pid
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            string BrowserPath = (string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe", "", null);

            string BrowserTempPath = Path.Combine(System.IO.Directory.GetCurrentDirectory(), "Temp");

            Process proc = new Process();
            proc.StartInfo.FileName = BrowserPath;
            // --silent-launch
            proc.StartInfo.Arguments = "https://www.google.com/ --new-window --remote-debugging-port=9222 --user-data-dir=" + BrowserTempPath;
            proc.Start();
            
            Console.WriteLine("parent PID: " + proc.Id);

            Thread.Sleep(2000);


            ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + proc.Id);
            ManagementObjectCollection moc = searcher.Get();
            foreach (ManagementObject mo in moc)
            {
                Console.WriteLine("child PID : " + mo["ProcessID"]);
            }

            proc.WaitForExit();
        }
    } // class(e)
} // namespace(e)

 

 

 

 

 

 

https://www.codegrepper.com/code-examples/csharp/c%23+kill+process+by+pid

 

c# kill process by pid Code Example

/// <summary> /// Kill a process, and all of its children, grandchildren, etc. /// </summary> /// <param name="pid">Process ID.</param> private static void KillProcessAndChildren(int pid) { // Cannot close 'system idle process'. if (pid == 0) { return; } M

www.codegrepper.com

 

 

저작자표시 (새창열림)

'Windows' 카테고리의 다른 글

c# 특정시간 기준으로 간격으로 두고 두번 실행하는 방법  (0) 2021.12.17
PID를 알고 있을때 process kill 방법  (0) 2021.12.16
ARP Scan Console  (0) 2021.04.03
Color Property  (0) 2021.04.03
C# 쓰레드를 위한 ConcurrentDictionary  (0) 2021.03.21
'Windows' 카테고리의 다른 글
  • c# 특정시간 기준으로 간격으로 두고 두번 실행하는 방법
  • PID를 알고 있을때 process kill 방법
  • ARP Scan Console
  • Color Property
zosystem
zosystem
몇 달만 지나도 가물가물해서 만든 곳
zosystem
동방노트
zosystem manage
전체
오늘
어제
  • 분류 전체보기 (278)
    • Linux (90)
      • 기본명령어&팁 (13)
      • 설치 및 셋팅 (16)
      • 네트워크보안 (5)
      • Samba&NFS (6)
      • 모니터링 (3)
      • Apache&nginx (5)
      • MySQL (2)
      • PHP (0)
      • Cloud (29)
      • Shell (1)
      • RAID (1)
      • PLEX (2)
      • Python (5)
      • Docker (2)
    • Windows (22)
    • Windows Server (9)
    • IoT (1)
    • 데이타베이스 (1)
    • 잡다한 개발팁 (19)
    • 개발유틸리티 (8)
    • 컴퓨터관리 (127)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 그래픽카드 드라이버 이슈
  • 시놀로지 그누보드5 설치
  • rsync
  • Printer
  • 프린터 방화벽
  • portainer
  • OpenMediaVault
  • fpc케이블
  • selenium
  • synology phpmyadmin
  • 바탕 화면 아이콘 설정 단축키
  • openmediavault 7
  • log syntax highlighting
  • 프린터
  • ap
  • 원격 데스크톱 연결
  • Python
  • omv7
  • amd 드라이버 이슈
  • synology firewall
  • mysql_connect() error
  • IP Camera
  • CCTV
  • phpmyadmin 접근제어
  • nt530u4e-e3b
  • docker
  • fail2ban
  • PID
  • OMV
  • RDP

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
zosystem
C# parent & child process PID 찾기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.