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

PowerShell에서 Start-Process
cmdlet은 새로운 프로세스를 시작하는 데 사용되지만, 이 명령으로 시작된 프로세스의 종료 코드를 얻는 것은 간단하지 않습니다. 종료 코드는 프로세스가 완료된 후의 상태를 나타내며, 스크립트 목적이나 프로세스가 성공적인지 여부를 판단하는 데 유용할 수 있습니다.
이 기사에서는 PowerShell에서 Start-Process
를 사용하여 시작된 프로세스에서 종료 코드를 얻는 방법을 탐구합니다.
PowerShell의 Start-Process
명령에서 -Wait
매개 변수를 사용하여 종료 코드 얻기
-Wait
매개 변수를 사용하여 종료 코드를 검색하는 방법을 알아보기 전에 종료 코드가 무엇인지 간략하게 논의해 보겠습니다. 종료 코드는 프로세스가 완료되면 반환하는 숫자 값입니다.
전통적으로 종료 코드 0
은 성공적인 실행을 나타내고, 비제로 종료 코드는 실행된 애플리케이션이나 스크립트에 의해 정의된 오류 또는 특정 조건을 나타냅니다.
Start-Process
cmdlet의 -Wait
매개 변수는 PowerShell에 시작된 프로세스가 완료될 때까지 대기하라고 지시합니다. 이는 프로세스의 종료 코드를 얻는 데 중요합니다.
이를 달성하기 위한 단계별 접근 방식을 살펴보겠습니다:
-
-Wait
매개 변수를 사용하여 프로세스를 시작하고 완료될 때까지 기다리려면 다음 구문을 사용합니다:powershellCopy
Start-Process -FilePath "YourExecutable.exe" -ArgumentList "YourArguments" -NoNewWindow -Wait
"YourExecutable.exe"
를 실행하려는 실행 파일 또는 스크립트의 경로로 바꾸고,"YourArguments"
를 프로세스에 필요한 인수로 바꾸십시오. -
프로세스와 그 종료 코드를 캡처하려면
Start-Process
명령을 변수에 저장합니다:powershellCopy
$process = Start-Process -FilePath "YourExecutable.exe" -ArgumentList "YourArguments" -NoNewWindow -Wait -PassThru
-PassThru
매개 변수는 프로세스 개체를 변수$process
에 저장할 수 있도록 합니다. -
프로세스가 완료되면 변수에 저장된 프로세스 개체의
ExitCode
속성을 사용하여 종료 코드에 접근할 수 있습니다:powershellCopy
$exitCode = $process.ExitCode Write-Host "Exit code: $exitCode"
Write-Host
cmdlet은 콘솔에 얻은 종료 코드를 표시하는 데 사용됩니다.
-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
를 활용하는 단계별 접근 방식은 다음과 같습니다:
-
원하는 프로세스를
Start-Process
cmdlet을 사용하여 시작합니다. 다음은 일반적인 구문입니다:powershellCopy
Start-Process -FilePath "YourExecutable.exe" -ArgumentList "YourArguments" -NoNewWindow
"YourExecutable.exe"
를 실행하려는 실행 파일 또는 스크립트의 경로로 바꾸고,"YourArguments"
를 프로세스에 필요한 인수로 바꾸십시오. -
프로세스가 완료된 후
$LastExitCode
변수를 사용하여 종료 코드에 접근합니다:powershellCopy
$exitCode = $LastExitCode Write-Host "Exit code: $exitCode"
Write-Host
cmdlet은 콘솔에 종료 코드를 표시하는 데 사용됩니다.
$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
속성을 사용하여 종료 코드에 접근할 수 있습니다.
이를 달성하기 위한 단계별 접근 방식은 다음과 같습니다:
-
원하는 프로세스를 시작하고
-PassThru
매개 변수를 사용하여 프로세스 개체를 캡처합니다:powershellCopy
$process = Start-Process -FilePath "YourExecutable.exe" -ArgumentList "YourArguments" -NoNewWindow -PassThru
"YourExecutable.exe"
를 실행하려는 실행 파일 또는 스크립트의 경로로 바꾸고"YourArguments"
를 프로세스에 필요한 인수로 바꾸십시오. -
필요한 경우
WaitForExit()
메서드를 사용하여 프로세스가 완료될 때까지 기다립니다:powershellCopy
$process.WaitForExit()
이 단계는 스크립트가 프로세스가 완료될 때까지 기다리도록 보장합니다.
-
프로세스가 완료되면
ExitCode
속성을 사용하여 종료 코드를 접근합니다:powershellCopy
$exitCode = $process.ExitCode Write-Host "Exit code: $exitCode"
Write-Host
cmdlet은 콘솔에 종료 코드를 표시하는 데 사용됩니다.
프로세스 개체를 활용하고 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 스크립트의 자동화 및 신뢰성을 향상시킬 수 있습니다.
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