保持WSL子系统自动启动并常驻后台
·
WSL子系统默认情况下需要保持终端窗口开启,才能一直保持运行状态。如果关闭终端窗口,WSL子系统会在几秒后自动退出,这对于将WSL子系统作为开发环境或者利用Docker进行常驻服务开发运行是不合适的。因此需要将WSL子系统设置为随着系统自启动并能常驻后台运行。


2 新建后台常驻运行脚本(vbs)
新建一个vbs脚本,文件自定义,文件内容如下:
set ws=wscript.CreateObject("wscript.shell")
ws.run "wsl -d Database", 0
ws.run "wsl -d Program", 0
在Windows中手动双击启动该脚本,就可以将WSL子系统后台常驻运行。
`
objShell.Run (strCommand, [intWindowStyle], [bWaitOnReturn])`
- objShell: 一个 WScript.Shell 对象。
- strCommand: 要执行的命令。
- intWindowStyle (可选): 指定程序窗口的外观。
- bWaitOnReturn (可选): 布尔值,表示是否等待命令执行完成。
参数说明
- intWindowStyle:
0: 隐藏窗口并激活另一个窗口。
1: 激活并显示窗口(默认)。
2: 激活窗口并最小化。
3: 激活窗口并最大化。
4: 按最近的窗口大小和位置显示窗口。
5: 激活窗口并按当前大小和位置显示。
6: 最小化指定窗口,并激活下一个顶部窗口。
7: 将窗口显示为最小化窗口。
8: 将窗口显示为当前状态。
9: 激活并显示窗口。
10: 根据启动应用程序的程序状态设置显示状态。
- bWaitOnReturn: True: 等待命令执行完成后再继续执行脚本,并返回命令的错误代码。 False (默认): 不等待命令执行完成,立即返回并继续执行脚本。
3 开机运行后台常驻脚本
上述vbs命令还需要手动启动,不是很方便,可以将其添加到自启动目录里面。
在Windows中利用快捷键 Win+R,打开运行窗口,输入以下命令直接打开自启动目录
shell:startup
![![[Pasted image 20250922173641.png]]](https://i-blog.csdnimg.cn/direct/c2ca5e28f6eb4519b2bdec0d8861fcba.png)
实际地址为
C:\Users\ZHOU\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
![![[Pasted image 20250922172437.png]]](https://i-blog.csdnimg.cn/direct/21c899be8145451aaf7766b237bdf617.png)
将步骤2中创建的vbs文件放到该目录下

4 关闭后台常驻运行的WSL子系统
4.1 直接关闭所有的WSL子系统
wsl --shutdown
该命令会直接关闭所有正在运行的WSL子系统
4.2 关闭指定的WSL子系统
wsl -t Database # 参数简写
wsl --terminate Database # 参数全称
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)