微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在IoT Edge中使用Process.Start?

如何解决如何在IoT Edge中使用Process.Start?

我正在尝试从Azure IoT Edge中的一个模块开始一个过程,但是我得到了:

System.ComponentModel.Win32Exception (2): No such file or directory

我模块中的代码

var startInfo = new processstartinfo
     {
         FileName = "dotnet --info",UseShellExecute = true,RedirectStandardOutput = false,RedirectStandardError = false,CreateNowindow = true
     };

Process.Start(startInfo);

我想-由于IoT Edge模块在docker容器中运行-我没有运行Process.Start()的权限,但是我不知道如何获得对模块的这种访问权限。

解决方法

您是否要在容器内启动该过程?还是在主机上?如果在容器内,您是否在其中安装了dotnet core(或确认已安装)?

如果是这样,并且假设这是Windows容器,您是否可以通过在命令提示符处“闯入”正在运行的容器来尝试从命令行中手动运行命令?

docker -H npipe:////../pipe/iotedge_moby_engine exec -it cmd

这应该在容器内给您一个命令提示符。.您可以在此处尝试使用'dotnet --info',看看会发生什么情况

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。