none
[PowerShell Tips] Process 관리 RRS feed

  • 일반 토론

  • 질문

     

    PowerShell에서 Process를 관리할 수 있습니다.

     

    답변

     

    Step 1 : Process 목록 확인

    PowerShell에서 Cmdlet으로 현재 Process 목록을 확인할 수 있습니다. 문제진단하는 경우에 많이 사용합니다.

    Process Company 속성이 Null, Empty이 아닌 목록을 출력을 합니다.

    Get-Process | ? { -not [System.String]::IsNullOrEmpty($_.Company) }

     

    Step 2 : PowerShel l 대기

    실행한 Process가 종료할 때 까지 PowerShell은 대기할 수 있습니다. 사용자의 입력이 꼭 필요한 경우에 사용합니다.

    Notepad를 실행하고 종료할 때까지 PowerShell은 대기를 합니다.

    Notepad test.txt | Out-Null

    아래의 Script는 현재 실행되고 있는 Notepad Instance를 변수에 저장한 후 WaitforExit()함수로 이 인스턴스가 종료 할때까지Powershell을 대기합니다.

    $np = Get-Process notepad

    $np[0].WaitForExit()

     

    Step 3 : Process 실행

    PowerShell에서 Process를 실행할 수 있습니다.  Script에서 백그라운드로 Process를 실행하는 경우 유용할 수 있습니다.

    Notepad를 실행합니다.

    Start-Process notepad

     

    아래의 Script Windows Style Hidden으로 PowerShell Instance를 실행 합니다.

    $si = new-object System.Diagnostics.ProcessStartInfo

    $si.WindowStyle = 1

    $si.FileName = (Get-Command powerShell.exe).Definition

    [Diagnostics.Process]::Start($si)

     

    참고 자료

     

    New-Object

    http://technet.microsoft.com/en-us/library/dd315334.aspx

    2011년 10월 18일 화요일 오전 8:09
    중재자