【发布时间】:2020-09-18 15:11:55
【问题描述】:
我正在尝试从 dot net core 运行 android 模拟器。我用这个代码来做:
var psi = new ProcessStartInfo
{
FileName = "/Users/hexdump/Library/Android/sdk/platform-tools/adb",
Arguments = "-avd emulator-5444 &",
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
};
var proc = new Process
{
StartInfo = psi
};
success = proc.Start();
proc.WaitForExit();
这里是非常标准的代码。这适用于我运行的所有命令,但是需要“分离”运行的命令不起作用。如果从控制台执行,显然它运行正常。
作为旁注,我已经删除了“WaitForExit”调用,并且不知何故我能够做我想做的事。但是,当我关闭 dotnet 时,我启动的进程也会被终止(显然)。而这不是我想要的。
dot net core 是否能够在后台运行脚本/可执行文件?
【问题讨论】:
-
我已经超过 25 年没有看到这个问题了。不记得解决方法。在生成 shell 时,在 unix 中也会发生同样的事情。我认为这与标准输出有关。当您从命令窗口运行时,有一个标准输出所在的临时位置。你没有温度。 c# 进程中的环境变量为空。
标签: c# shell .net-core process