백그라운드로 R 실행하기

Qurie Moon·2023년 7월 13일
0
post-thumbnail

실행 시간이 오래 걸리는 R 스크립트를 실행해야하거나 여러 개의 R 스크립트를 실행하고 싶은 경우가 있다. 실행 시간이 오래 걸리는 프로그램을 RStudio에서 단순 실행할 경우, 불편할 뿐더러 실수로 종료하는 등의 문제가 일어날 수 있다. 또한, RStudio에서 직접 스크립트를 실행할 경우, 여러 개의 스크립트를 실행할 수 없다. (source로 타 R 스크립트를 참조하는 경우가 아닌 문자 그대로 스크립트 여러 개를 동시에 단순 실행하는 걸 할 수 없다는 뜻이다)

이럴 때, 해결책이 바로 백그라운드에서 R을 실행하는 것이다! 이번 포스트에서는 운영체제별 백그라운드에서 R을 실행하는 방법을 정리해보자.

<참고> RStudio에서도 R 스크립트를 background job으로 실행하는 기능을 제공하고 있다. 해당 기능을 사용하고 싶은 경우에는 아래 링크를 참고하자.
RStudio User Guide - Tools - Rstudio Jobs


윈도우에서 백그라운드로 R 실행하기

아래 윈도우 명령어의 경우, 모두 기본 command prompt에서 실행되어야한다. (Powershell이나 WSL 아님에 주의!)

  • 윈도우에서 R을 백그라운드로 실행하는 명령어
    start /B "" Rscript.exe --vanilla {R 스크립트 경로} > {실행 결과를 저장할 파일 경로} 2> {에러 로그를 저장할 파일 경로}
    • "R 스크립트 경로"의 경우, 실행하려는 R 스크립트의 파일 경로를 입력해주면 된다. (예: Desktop\test.R)
    • "실행 결과를 저장할 파일"에는 print 함수 호출 결과 등이 저장된다. 편의상 이를 로그 파일로 취급하여 저장한다. (예: Desktop\test.log)
    • "에러 로그"의 경우, R 프로그램을 실행하면서 발생하는 갖가지 에러에 대한 로그가 저장된다. 편의상 .err이라는 확장자를 사용해서 저장한다. (예: Desktop\test.err)
  • 윈도우에서 실행중인 R 프로그램의 pid를 확인하는 법
    tasklist /fi "imagename eq Rscript.exe"
    - 위 명령어를 실행하면 Image Name이 "Rscript.exe"인 프로그램이 모두 검색된다. 이때, PID와 Mem. Usage를 자세히 살펴보자. PID의 경우, 해당 프로그램에 부여된 ID라고 이해할 수 있으며 Mem. Usage는 해당 프로그램이 메모리를 얼마나 사용하는지 알려준다.
    - PID를 알면 다음 나오는 명령어로 프로그램을 쉽게 중단할 수 있다.
  • pid를 사용해서, 윈도우에서 실행중인 R 프로그램을 종료하는 법
    taskkill /pid <PID> /f
    - 이건 비단 R 프로그램뿐만 아니라, 윈도우에서 실행중인 프로그램을 종료할 때 사용할 수 있는 명령어이다.
    - 예를 들어, 현재 실행중인 R 프로그램의 PID가 20000이라면 taskkill /pid 20000 /f 으로 해당 프로그램을 종료할 수 있다.

맥에서 백그라운드로 R 실행하기

(추후 추가 예정)


피드백은 언제나 환영입니다! 혹시 잘못된 부분을 발견하셨거나 궁금하신 점이 있다면 댓글창에 남겨주세요! 그럼 다음 포스트에서 또 만나요!

profile
촘촘한 나뭇잎에 가려진 숲을 보려는 데이터 분석가입니다

0개의 댓글