11

In past versions of Windows 10, WSL could be exited by closing all active terminals but with the introduction of background tasks in WSL this no longer works. Is there a way to exit WSL without rebooting the host system?

laverya
  • 627
  • 1
  • 5
  • 11
  • Stop the background task from wsl. – Biswapriyo May 03 '18 at 17:27
  • Background task create a process with `wslhost.exe` executable. One may kill that process but the result will be catastrophic. – Biswapriyo May 03 '18 at 17:30
  • I suppose setting up an alias to kill all background tasks and exit would work, it just feels like far too much of a hack. But if that's what it takes, that's what I'll do – laverya May 03 '18 at 18:30

4 Answers4

16

Yes, it is.

As an Administrator restart the windows Service "LxssManager" on Windows 10. This does a clean boot of the WSL. The services in the Linux Subsystem - for example xrdp - must be restarted if not enabled for autostart.

det13eg
  • 176
  • 2
  • 3
13

A Powershell solution

Get-Service LxssManager | Restart-Service
Frank Fu
  • 231
  • 2
  • 3
  • 3
    The most elegan solution in my opinion. Don't forget that you have to start the PowerShell with administrator privilege tough. – kruemi Dec 14 '19 at 10:45
12
  1. WIN+R -> services.msc
  2. Find LxssManager

    enter image description here

  3. Right-click -> Restart

    enter image description here

Sam Denty
  • 6,141
  • 3
  • 11
  • 16
5

As the other answers mention, specifically for windows 1803, the following should work from powershell or cmd:

net stop LxssManager

As highlighted by @Ramhound, only for newer versions, which have wsl 2, you can also run this from powershell or cmd:

shutdown all instances:

wsl.exe --shutdown 

shutdown a specific instance (e.g. Ubuntu):

wsl.exe -t Ubuntu 

to show the current list of instances:

wsl.exe -l
Leo
  • 729
  • 1
  • 6
  • 5