我有一个带有客户端和服务器代码的 C 项目。客户端是跨平台的,有Windows和Linux实现。服务器仅适用于Windows。
我有启动服务器并运行从客户端到服务器的操作的集成测试。这些测试也是用 C 编写的。
是否可以使用 WSL 编写一个在 Linux 中执行的测试来测试客户端并在 Windows 中启动我的服务器代码?
我了解我可以从 WSL 命令行启动 Windows 进程。通过 C 测试,我可以使用
fork
和 execvp
在 Linux 中生成新进程,但是 execvp
可以与启动 Windows 进程一起使用吗?
如果可行,我也可以杀死稍后生成的子进程吗?因此,我在客户端上运行测试的 Linux 可执行文件将生成一个在 Windows 上运行我的服务器代码的 Windows 进程(fork)。然后,当测试完成时,它会终止子(Windows)进程。
是的。
您的 Windows 驱动器应以
/mnt/c
等形式提供。因此,例如,记事本的路径是 /mnt/c/Windows/System32/notepad.exe
。