PowerShell에서 긴 스크립트 실행을 수동으로 중지
스크립트를 실행할 때, 특히 실행 시간이 긴 긴 코드 줄이 있는 스크립트를 실행할 때 스크립트가 종료된 것처럼 보이고 정지 상태가 되는 경우가 있습니다. 이 문서에서는 스크립트 실행이 중간에 중지되는 일반적인 원인과 장기 실행 PowerShell 프로세스를 중지할 수 있는 방법에 대해 설명합니다.
PowerShell에서 스크립트 종료의 일반적인 원인
다음은 PowerShell 환경 내에서 실행되는 동안 스크립트가 종료되는 몇 가지 일반적인 원인입니다.
-
리소스 부족
컴퓨터의 리소스 부족은 PowerShell 실행이 중간에 중지되는 일반적인 원인 중 하나입니다. 이 상황은 특히 장치나 서버가 여러 작업이나 기능을 제공하고 처리할 수 있는 것보다 리소스가 적은 경우에 발생합니다.
우선 순위 프로세스가 먼저 실행되고 중단이 발생하여 스크립트가 중간에 중단되는 경우가 있습니다. 그러나 때로는 인터프리터가 설정된 연결이 이미 닫히거나 종료되었을 수 있으므로 브레이크아웃 라인에서 다시 시작할 수 없어서 다음 예제로 이어집니다.
-
연결 시간 초과
이 상황은 일반적으로 스크립트에 서버와 같은 다른 위치에 대한 데이터베이스 또는 원격 연결이 포함되어 있을 때 발생합니다. 우리의 스크립트는 응답하는 데 너무 오래 걸리고 때로는 PowerShell이 최종 연결이 닫혔는지 여부를 확인할 수 없어 상당한 시간 동안 중단된 프로세스에 있게 됩니다.
-
비주얼 버그
PowerShell IDE를 사용하는 경우 실행 중인 파란색 PowerShell 창을 클릭하면 스크립트가 실행되는 동안 메시지가 표시되지 않거나 상태가 표시되지 않는 시각적 버그 중 하나가 발생할 수 있습니다. 따라서 기술적으로 스크립트는 여전히 백엔드에서 실행 중이지만 모니터에서는 스크립트 실행이 꽤 오랫동안 중지된 것처럼 보일 수 있습니다.
PowerShell에서 종료된 스크립트를 수동으로 중지
통역사에게 인터럽트 신호를 보내 스크립트를 수동으로 중지할 수 있습니다. 이는 명령줄을 사용하는 PowerShell 및 대부분의 스크립트 또는 프로그래밍 언어에 적용됩니다.
다음은 인터럽트의 몇 가지 예입니다.
- Ctrl+C는
SIGINT
를 전송하여 애플리케이션을 중단합니다. 일반적으로 중단을 유발하지만 결정하는 것은 응용 프로그램에 달려 있습니다. - Ctrl+Z는
SIGTSTP
를 포그라운드 애플리케이션으로 보내 효과적으로 백그라운드에 배치하고 일시 중지합니다. 이는 편집기와 같은 것을 중단하고 필요한 일부 데이터를 가져오는 경우에 유용합니다.
Azure Shell 또는 PowerGUI와 같은 클라우드 또는 웹 기반 터미널을 사용하는 경우 Shift+F5를 사용하여 캐시로 간단한 새로 고침이 인터럽트 신호로 작동합니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn