답변1
단일 명령으로 배포판을 재부팅할 수 없습니다. 두 가지 명령을 사용하여 배포판을 종료하고 부팅해야 합니다. 당신이 실행하는 경우wsl.exe
대신 wsl
WSL Bash 및 CMD에서 모두 작동합니다.
배포판 목록과 현재 상태를 확인하세요.
wsl.exe -l -v
모든 것을 종료합니다: Build 18917+
wsl.exe --shutdown
특정 배포판을 종료합니다. Windows 1903+
wsl.exe -t <DistroName>
기본 배포판을 부팅합니다( 표시됨 *
):
wsl.exe
특정 배포판을 부팅합니다.
wsl.exe -d <DistroName>
이전 버전
# PowerShell (admin)
Restart-Service LxssManager
# or CMD (admin)
net stop LxssManager
net start LxssManager
답변2
관리 PowerShell 프롬프트에서 다음을 수행합니다.Restart-Service LxssManager
답변3
/var/run/reboot-required
Windows 10 버전 1803부터 파일이 존재 하지 않는 한 모든 WSL 터미널 창을 닫아도 기본적으로 백그라운드 프로세스가 종료되지 않습니다 . 이 파일은 업데이트에 재부팅이 필요할 때 Ubuntu에서 apt에 의해 자동으로 생성되지만 하위 시스템을 수동으로 재부팅하려는 경우 파일을 직접 생성할 수 있습니다.
sudo touch /var/run/reboot-required
Microsoft Store에서 제공되는 다른 배포판에서는 이 기능을 테스트하지 않았습니다. 다른 해결책은 모든 프로세스를 직접 종료하는 것입니다.
sudo killall -r '.*'
답변4
다음은 명령
wslreboot
(또는 사용자 지정 명령)을 사용하여 WSL2 내에서 종료를 허용합니다.
기술적으로, wslshutdown
아래 코드에 더 적합합니다.
별칭 만들기:
sudo nano ~/.bash_aliases
줄 추가:
alias wslreboot='history -a && cmd.exe /C wsl --shutdown'
history -a
종료 전에 저장한 bash 명령 기록을 확인합니다.
별칭 활성화:
WSL 다시 시작
cmd.exe /C wsl --shutdown
또는 유형
source .bash_aliases
사용
이제 입력할 수 있습니다
wslreboot
종료하다
위의 변형을 사용하여 다음 줄로 배치 파일을 실행할 수 있다고 생각합니다.
wsl --shutdown
wsl
제대로 다시 시작하려면.