linux中subsystem是什么命令,操作系统该命令无法调用windows subsystem for Linux(WSL)命令,ossystem,Windowssubsystemforlinux...

问题一:

1. 按照官方文档安装配置Windows subsystem for linux后用cmd或powershell 执行wsl 相关命令均正常,通过python 自带的os.system执行wsl 相关命令提示:'wsl' 不是内部或外部命令,也不是可运行的程序\n或批处理文件。\n"

2. 在pycharm的调试工具下查看windows/system32文件夹下的列表,wsl相关的文件均不在,但是实际该文件夹是存在的

3.在别人的电脑上是正常的

临时解决方案:

1.原理上从ubunut端启动命令运行,即通过os.system执行windows上的ubuntu1804.exe

2.根据帮助在后后面带上run + 执行的命令:路径\ubuntu1804.exe run pwd

3. 如cmd1 = "{0} pwd".format(wsl_path)     wsl_path: exe所在的路径\ubuntu1804.exe run

注意事项:

1. 要运行ubuntu上的二进制文件是要在ubuntu 上安装对应的依赖

2. 如果执行的文件是在windwos上要注意路径

3.举例:

3.1: 文件就在ubuntu 那侧test.py运行,从打开的应用上如图所示:

33c6cf895a0d38714db51707cc265c24.png

此时os.sytem("{0} python3 /home/sunada/test.py".format(wsl_path))

3.2: 如果文件在windows桌面或其他盘,又要让ubuntu上执行,此时先确定pwd

如图测试得:

0db6afe57d80ac344b47f9318b0028e5.png

此时os.system("{0} python3 /mnt/c/Users/Admin/Desktop/tmp.py".format(wsl_path))即可:

如下图所示:

4279fa381d02990cfa09ed9f532d5c81.png

需注意:该命令敲出去就已经在执行。 像本人图片做的是单例测试并没有做成异步的,所以需要等待tmp.py文件执行完成的时间实在subprocess的设置的超时范围内才不会报超时,否则会爆超时的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值