현재 ProcessID를 얻는 방법은 무엇입니까?


83

.NET Framework를 사용하여 자신의 응용 프로그램에서 현재 프로세스 ID를 얻는 가장 간단한 방법은 무엇입니까?


2
진실. 여기에 뭔가 잘못된 것 같아요 : D @VictorYarema
Deniz

답변:


121

현재 프로세스에 대한 참조를 가져오고 System.DiagnosticsProcess.Id속성을 사용 합니다.

int nProcessID = Process.GetCurrentProcess().Id;

2
System.Diagnostics 사용; 또는 System.Diagnostics.Process.GetCurrentProcess (). Id; 나는 항상 자신을 보호하고 현재 또는 미래의 정책 규칙이 프로세스 영역에 액세스하기 때문에 일부 잠금 또는 제한 모드에서이 호출을 제한 할 것이라고 가정합니다.
Sql Surfer

17
Process.GetCurrentProcess().Id

또는 Process클래스가 IDisposable이고 애플리케이션이 실행되는 동안 프로세스 ID가 변경되지 않으므로 정적 속성이있는 도우미 클래스를 가질 수 있습니다.

public static int ProcessId
{
    get 
    {
        if (_processId == null)
        {
            using(var thisProcess = System.Diagnostics.Process.GetCurrentProcess())
            {
                _processId = thisProcess.Id;
            }
        }
        return _processId.Value;
    }
}
private static int? _processId;

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.