gpt4 book ai didi

c# - 如何创建比其父进程生命周期更长的进程

转载 作者:可可西里 更新时间:2023-11-01 12:40:59 25 4
gpt4 key购买 nike

我正在尝试为我开发的平台启动外部更新程序应用程序。我想启动此更新程序的原因是因为我的配置实用程序处理平台的更新和许可配置,与将部署更新的文件夹中的其他程序集共享依赖关系。因此,虽然我可以重命名配置实用程序并在部署更新时覆盖它,但我无法重命名或覆盖它所依赖的 DLL。因此,外部更新程序应用程序。

我在配置实用程序中处理所有更新收集逻辑,然后尝试启动更新程序来处理实际的文件复制/覆盖操作。显然,由于正在使用的文件问题,我需要配置实用程序在更新程序开始后立即退出。

我遇到的问题是我正在使用标准的 Process.Start 方法来启动更新程序,一旦配置实用程序退出,更新程序进程也会被终止。

有什么方法可以创建一个比其父进程生命周期更长的进程,或者启动一个可以在启动它的程序之外运行的外部应用程序?

编辑:

显然,在我的更新程序应用程序中,我错误地计算了传递给它的命令行参数的数量。因此,更新程序将立即退出。我将其误解为启动器应用程序正在终止“子”进程,但实际上并没有。

下面的答案是正确的。

最佳答案

您看到的问题似乎有不同的原因,因为 Process类不会终止使用 Process.Start 启动的任何进程当您的应用程序退出时。

看到这个简单的示例程序,计算器将保持打开状态:

using System.Diagnostics;

class Program
{
static void Main(string[] args)
{
Process.Start(@"C:\windows\system32\calc.exe");
}
}

关于c# - 如何创建比其父进程生命周期更长的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1008886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com