PowerShell에서 Start-Process의 종료 코드 가져오는 방법

  1. PowerShell의 Start-Process 명령에서 -Wait 매개 변수를 사용하여 종료 코드 얻기
  2. PowerShell의 Start-Process 명령에서 $LastExitCode 변수를 사용하여 종료 코드 얻기
  3. Process 개체를 사용하여 PowerShell의 Start-Process 명령에서 종료 코드 얻기
  4. 결론
PowerShell에서 Start-Process의 종료 코드 가져오는 방법

PowerShell에서 Start-Process cmdlet은 새로운 프로세스를 시작하는 데 사용되지만, 이 명령으로 시작된 프로세스의 종료 코드를 얻는 것은 간단하지 않습니다. 종료 코드는 프로세스가 완료된 후의 상태를 나타내며, 스크립트 목적이나 프로세스가 성공적인지 여부를 판단하는 데 유용할 수 있습니다.

이 기사에서는 PowerShell에서 Start-Process를 사용하여 시작된 프로세스에서 종료 코드를 얻는 방법을 탐구합니다.

PowerShell의 Start-Process 명령에서 -Wait 매개 변수를 사용하여 종료 코드 얻기

-Wait 매개 변수를 사용하여 종료 코드를 검색하는 방법을 알아보기 전에 종료 코드가 무엇인지 간략하게 논의해 보겠습니다. 종료 코드는 프로세스가 완료되면 반환하는 숫자 값입니다.

전통적으로 종료 코드 0은 성공적인 실행을 나타내고, 비제로 종료 코드는 실행된 애플리케이션이나 스크립트에 의해 정의된 오류 또는 특정 조건을 나타냅니다.

Start-Process cmdlet의 -Wait 매개 변수는 PowerShell에 시작된 프로세스가 완료될 때까지 대기하라고 지시합니다. 이는 프로세스의 종료 코드를 얻는 데 중요합니다.

이를 달성하기 위한 단계별 접근 방식을 살펴보겠습니다:

-Wait 매개 변수를 사용하고 ExitCode 속성에 접근하여 PowerShell에서 Start-Process를 사용하여 시작된 프로세스의 종료 코드를 성공적으로 검색할 수 있습니다.

위에서 언급한 단계를 설명하는 예제 스크립트는 다음과 같습니다:

 powershellCopy# Start the process and wait for it to complete
$process = Start-Process -FilePath "notepad.exe" -NoNewWindow -Wait -PassThru

# Retrieve the exit code
$exitCode = $process.ExitCode
Write-Host "Exit code: $exitCode"

이 예제에서 우리는 메모장 애플리케이션을 시작하고, 완료될 때까지 기다린 다음, 종료 코드를 얻고 표시합니다.

PowerShell의 Start-Process 명령에서 $LastExitCode 변수를 사용하여 종료 코드 얻기

PowerShell은 자동으로 가장 최근에 실행된 프로세스의 종료 코드를 $LastExitCode 변수에 저장합니다. 이 변수는 Start-Process를 사용하여 프로세스가 시작된 후에 접근할 수 있습니다.

$LastExitCode를 활용하는 단계별 접근 방식은 다음과 같습니다:

$LastExitCode 변수를 활용하여 PowerShell에서 Start-Process를 사용하여 시작된 프로세스의 종료 코드를 쉽게 검색할 수 있습니다.

아래는 위 단계를 설명하는 포괄적인 예제 스크립트입니다:

 powershellCopy# Start the process
Start-Process -FilePath "notepad.exe" -NoNewWindow

# Access the exit code
$exitCode = $LastExitCode
Write-Host "Exit code: $exitCode"

이 예제에서 우리는 메모장 애플리케이션을 시작하고, 그리고 $LastExitCode를 사용하여 종료 코드를 접근하고 표시합니다.

Process 개체를 사용하여 PowerShell의 Start-Process 명령에서 종료 코드 얻기

Start-Process와 함께 -PassThru 매개 변수를 사용할 때 cmdlet은 새로 시작된 프로세스를 나타내는 System.Diagnostics.Process 개체를 반환합니다. 그런 다음 이 개체의 ExitCode 속성을 사용하여 종료 코드에 접근할 수 있습니다.

이를 달성하기 위한 단계별 접근 방식은 다음과 같습니다:

프로세스 개체를 활용하고 ExitCode 속성에 접근하여 PowerShell에서 Start-Process로 시작된 프로세스의 종료 코드를 성공적으로 검색할 수 있습니다.

위에서 언급한 단계를 설명하는 포괄적인 예제 스크립트는 다음과 같습니다:

 powershellCopy# Start the process and obtain a process object
$process = Start-Process -FilePath "notepad.exe" -NoNewWindow -PassThru

# Wait for the process to complete
$process.WaitForExit()

# Access the exit code
$exitCode = $process.ExitCode
Write-Host "Exit code: $exitCode"

이 예제에서는 메모장 애플리케이션을 시작하고, 완료될 때까지 기다린 다음, 프로세스 개체를 사용하여 종료 코드를 얻고 표시합니다.

결론

PowerShell에서 Start-Process cmdlet으로 시작된 프로세스의 종료 코드를 얻는 방법은 -Wait 매개 변수, $LastExitCode 변수 또는 System.Diagnostics.Process 개체의 ExitCode 속성에 접근하여 달성할 수 있습니다.

종료 코드를 검색하는 방법을 이해하면 프로세스의 결과를 프로그래밍 방식으로 처리하고 응답할 수 있어 PowerShell 스크립트의 자동화 및 신뢰성을 향상시킬 수 있습니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn