wsl重启
本质上修改环境变量source不生效,想重启一下又要打开命令行,其实wsl可以直接调用windows下的程序,因此只需要执行
wsl.exe
但是执行习惯了reboot,可以在shell的配置文件中配置alias
alias reboot="wsl.exe"
以上并不是真正意义上的重启wsl
wsl服务重启(真正意义上的重启)
因为wsl可以直接执行cmd命令,所以直接写两个脚本搞定,对了脚本要放在windows文件系统下
脚本一:wslreboot_1.bat,这个脚本的作用就是启用管理员权限调用另一个脚本
要修改G:\myshell\wslreboot_2.bat为你的路径
Net session >nul 2>&1 || mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c G:\myshell\wslreboot_2.bat","","runas",1)(window.close)&&exit
脚本二:wslreboot_2.bat
net stop LxssManager
net start LxssManager
最后配置别名
/c 就是直接执行一条cmd命令
在执行后,进程被kill,然后要手动打开一个新的连接吧…暂时没有找个更好的解决方案
alias wslreboot='cmd.exe /c "G:\myshell\wslreboot_1.bat"'