답변:
모든 것을 종료하십시오 : Build 18917+
wsl --shutdown
특정 배포판을 종료하십시오. Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
cmd (admin과 함께)에서 일했습니다. 방금 내 박쥐 파일이 sc
Windows OS 빌드 1809에서 작동하지 않는지 테스트했습니다 .
Windows 10 버전 1803부터 파일 /var/run/reboot-required
이 존재 하지 않는 한 모든 WSL 터미널 창을 닫아도 기본적으로 백그라운드 프로세스가 종료되지 않습니다 . 이 파일은 업데이트에 재부팅이 필요할 때 Ubuntu에서 apt에 의해 자동으로 만들어 지지만 서브 시스템을 수동으로 재부팅하려는 경우 파일을 직접 만들 수 있습니다.
sudo touch /var/run/reboot-required
Microsoft Store에서 제공되는 다른 배포판에서는 이것을 테스트하지 않았습니다. 다른 해결책은 모든 프로세스를 직접 종료하는 것입니다.
sudo killall -r '.*'
sudo
sudo killall -r '.*'
sudo touch /var/run/reboot-required
. 그러나 당신은 할 수있다 . 실제로 파일이 존재하면 WSL이 모든 백그라운드 프로세스를 종료하고 모든 터미널 창이 닫힐 때 서브 시스템을 종료시키는 것처럼 보이기 때문에이를 악용 할 수도 있습니다.
killall
나를 위해 완벽하게 일했습니다. 을 터치 할 필요가 없습니다 reboot-required
.
관리 PowerShell 프롬프트에서 : Restart-Service LxssManager
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
단순히 쉘을 종료 exit
하고 다시 열면 트릭을 수행하는 것처럼 보입니다.
Louis@ATHENA:~$ bin/rcheck.sh
Reboot not necessary.
Louis@ATHENA:~$ bin/update.sh
[sudo] password for Louis:
The following packages will be upgraded:
libssl1.0.0 openssl
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libssl1.0.0 amd64 1.0.1f-1ubuntu2.21 [830 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main openssl amd64 1.0.1f-1ubuntu2.21 [489 kB]
Setting up libssl1.0.0:amd64 (1.0.1f-1ubuntu2.21) ...
Setting up openssl (1.0.1f-1ubuntu2.21) ...
Del libssl1.0.0 1.0.1f-1ubuntu2.20 [830 kB]
Del openssl 1.0.1f-1ubuntu2.20 [489 kB]
Louis@ATHENA:~$ bin/rcheck.sh
Reboot required.
Louis@ATHENA:~$ exec bash -l
Louis@ATHENA:~$ bin/rcheck.sh
Reboot required.
Louis@ATHENA:~$ exit
Louis@ATHENA:~$ bin/rcheck.sh
Reboot not necessary.
Louis@ATHENA:~$
Windows 10 Build 17046
. @Louis 당신은 당신의 답변으로 이것을 편집 하시겠습니까?
관리자로 cmd 창을 열고이 명령을 실행하여 다시 시작하십시오.
net stop LxssManager
net start LxssManager
timeout /t 3
명령 (3 초 추가)
*.bat
파일 을 만들었고 10 초 내에 다시 부팅합니다. (물건이 얼마나 빨리 재로드되는지에 놀랐습니다. 그리고 내 접근 방식이 장기적으로 심각한 문제를 일으키는 지 알려주십시오.)
다음 두 줄을 WSL_reboot.bat
파일에 넣고 Windows 10에서 WSL을 재부팅해야 할 때마다 실행하십시오.
net stop LxssManager
net start LxssManager
업데이트 노트 : 최근 Windows OS의 "업그레이드"에 따라 Build 1809는 sc
더 이상 명령을 좋아하지 않습니다.
참고 : Windows 탐색기를 통해 문자 드라이브를 포맷 할 때 WSL "커널"을 재부팅해야합니다. 그러나 부산물을 완전히 해결하지는 못했지만 ls
명령에 다음과 같은 오류가 발생합니다. Related-post-from-WSL @ Github ; 스택에서 관련 포스트 . 부산물 버그를 해결하면 링크가 끊어집니다.
ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng 512 Jan 15 11:00 'System Volume Information'/
...
sc
대신에net
net
당시 Windows 10에서 작동하지 않았던 것 같습니다 . sc
그때 일 했어야 했어 Windows 빌드 번호를 지정해야합니다.
net
대신에sc