Windows에서 python 스크립트 백그라운드 실행

한빈수윤·2025년 2월 18일

파이썬

목록 보기
1/3

백그라운드 실행이 왜 필요할까?

파이썬 파일을 실행시키면 완료가 될때까지 창에서 기다려야한다. 백그라운드에서 실행을 시키면 앱을 종료하여도 계속해서 실행할 수 있다.
오래걸리는 작업이라면 굳이 켜놓고 기다리는 것보다 백그라운드에서 실행하는 것이 효율적이다.


리눅스는 nohup 명령어를 이용해서 백그라운드 작업을 하는것과 달리 윈도우에서는 powershell이나 cmd 명령어를 사용해 백그라운드 실행을 구현할 수 있다.

백그라운드 실행

1. Powershell

Start-Job 명령어를 사용하면 백그라운드 작업(Job)으로 실행할 수 있으며, PowerShell의 스트림 리디렉션 연산자인 *>를 사용하면 모든 출력을 하나의 파일로 저장할 수 있다.

Start-Job -ScriptBlock { python 파일명.py *> 파일명.log }

여기서

  • 파일명.py:실행할 파일
  • 파일명.log:표준 출력 로그

하나의 로그 파일에 모든 출력을 저장할 수 있어 효율적이다.

실행 확인 방법

백그라운드에서 파일이 실제로 실행중인지 확인 하는 방법이 있다.

  • 백그라운드 작업 목록 확인
Get-Job
  • 실행 로그 실시간 확인
Get-Content backfill.log -Wait
  • 파이썬 프로세스 확인
Get-Process -Name python

2. cmd

CMD 명령어를 사용하면 Linux의 nohup과 유사한 효과를 낼 수 있다. 아래와 같이 cmd를 통해 start /b 옵션을 활용하면 백그라운드에서 실행할 수 있다.

cmd /c "start /b python 파일.py > 파일.log 2>&1"
  • cmd /c: 새 CMD 인스턴스를 열어 명령어를 실행한 후 종료.
  • start /b: 백그라운드 모드로 실행.
  • > backfill.log 2>&1: 표준 출력과 표준 에러를 모두 backfill.log 파일로 리디렉션.
profile
할 수 있다 방돌!!!

0개의 댓글