WSL을 설치하고 Docker를 쓰는 것 까진 좋았지만, 램 16기가인 노트북에게는 부팅과 함께 실행되는 WSL이 부담스러웠습니다. 램을 1G 정도로 적게 소모했지만 계속 백그라운드로 실행되어야 한다는 건 크게 다가왔습니다.
그래서 Linux의 CronTab처럼 Windows에서도 매번 부팅시에 WSL을 종료하는 작업을 실행하면 되지 않을까? 라는 생각으로 출발했습니다.
시작메뉴에서 작업 스케줄러
를 검색해서 실행합니다.
이런식으로 기존에 등록된 작업들이 보일텐데요. [작업 스케줄러 라이브러리]를 펼친 후, 폴더를 하나 새롭게 만듭니다.
저는 WSL 관련 작업이므로, WSL
이라는 폴더를 만들었습니다.
그리고 해당 폴더 안에서 작업 만들기
를 클릭해서 작업을 만듭니다.
저는 WSL AutoStart Disable
이라는 이름으로 했고, 구성 대상은 Windows 10으로 선택했습니다.
[트리거]탭에서 작업 시작은 시작할 때
(컴퓨터 부팅)로 하고 고급 설정에서 작업 지연 시간을 30초 정도 주었습니다.
[동작]탭에서 동작을 프로그램 시작
으로 설정하고 프로그램/스크립트에는 powershell
을 입력합니다. 찾아보기로 선택 안하셔도 됩니다.
인수 추가(옵션)에는 아래의 코드를 입력합니다.
-command "& wsl --shutdown"
저는 노트북이기 때문에 전원과 관련된 옵션이 있는 것 같습니다. 컴퓨터의 AC 전원 연결 여부와 상관없이 실행할 생각이기 때문에 체크해제 합니다.
[설정]탭에서는 다음 시간 이상 작업이 실행되면 중지
, 요청할 때 실행 중인 작업이 끝나지 않으면 강제로 작업 중지
를 체크해제 합니다. 마지막으로 이미 실행 중인 작업이 있을 땐, 새 인스턴스 실행 안함
으로 설정합니다.
작업 스케줄러가 잘 작동하는지 테스트하기 위해서, 컴퓨터를 재부팅한 후 [작업관리자]를 실행해서 VmmemWSL 프로세스가 실행중인지 확인합니다.