c# - C# Process.Start - 独立进程
问题描述
我只想运行另一个.exe
,然后关闭调用者。
就像是:
var info = new ProcessStartInfo
{
WorkingDirectory = "myDirectory",
FileName = "myFile.exe"
};
Process.Start(info);
Environment.Exit(0);
但是,子进程与父进程同时关闭。
- 父级是一个应用程序,单击按钮后它会关闭。
- 孩子是一个应用程序,它与父母同时关闭(不需要)。
- 父级是启动器。
- 子项是一个在您手动启动时工作的应用程序。
我尝试了其他解决方案,但它们都有相同的不良行为:
var info = new ProcessStartInfo
{
WorkingDirectory = "myDirectory",
FileName = "cmd",
Arguments = $"/C myFile.exe",
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(info);
Environment.Exit(0);
var thread = new Thread(() =>
{
var info = new ProcessStartInfo
{
WorkingDirectory = "myDirectory",
FileName = "myFile.exe"
};
Process.Start(info);
});
thread.Start();
Environment.Exit(0);
Task.Factory.StartNew(() =>
{
var info = new ProcessStartInfo
{
WorkingDirectory = "myDirectory",
FileName = "myFile.exe"
};
Process.Start(info);
});
解决方案
这很愚蠢......它只是在调试模式下不起作用。这不是一个错误,它是故意的(幸运的是它是这样设计的)。
(使用 Rider JetBrains)
推荐阅读
- javascript - 如何让其余的 javascript 代码等到 fetch 命令完成
- unity3d - Unity - 使用“Time.deltaTime”减少浮点变量永远不会下降
- python - Python:pdf - 加密文档以仅允许查看和打印
- python-3.x - 列表索引超出范围(notcars[5])?
- python - Python挑战TypeError:'int'对象不可迭代
- mysql - 选择具有最小值的列值被另一列分区但不重复排名
- system-verilog - SystemVerilog X 传播问题
- node.js - Nestjs Mongodb 总是返回空数组
- python - 使用嵌套的 for 循环将函数输出分配给嵌套的 dict
- node.js - neo4j Cypher 以最佳方式迭代创建关系