Linux .NET核心进程.Start()子进程是否在父进程退出时退出?

Linux .NET核心进程.Start()子进程是否在父进程退出时退出?,linux,.net-core,process,Linux,.net Core,Process,我正在为.NET内核中的Linux制作一个简单的更新程序应用程序 父应用程序(MVC应用程序)下载更新并启动子应用程序,然后退出。子应用程序等待父应用程序退出,然后通过父应用程序提取更新 父方正在按照以下步骤启动子方: var process = new Process { StartInfo = new ProcessStartInfo { FileName = $"{Path.Combine(Program.RootFolderPath, "

我正在为.NET内核中的Linux制作一个简单的更新程序应用程序

父应用程序(MVC应用程序)下载更新并启动子应用程序,然后退出。子应用程序等待父应用程序退出,然后通过父应用程序提取更新

父方正在按照以下步骤启动子方:

var process = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = $"{Path.Combine(Program.RootFolderPath, "Updater")}",
        Arguments = $"{Process.GetCurrentProcess().Id} \"{updateFile}\" \"{Program.RootFolderPath}\"",
        UseShellExecute = false,
        CreateNoWindow = true,
        RedirectStandardError = true,
        RedirectStandardOutput = true
    }
};

process.OutputDataReceived += (sender, data) => {
    Program.GeneralLog.Info(data);
};

process.ErrorDataReceived += (sender, data) => {
    Program.GeneralLog.Error(data);
};

process.Start();
似乎发生的情况是,当父应用程序退出时,子应用程序正在退出。这是故意的吗

父应用程序是在
Pi
用户下的Raspberry Pi作为服务(使用systemd)上运行的,以防有任何不同。服务设置为在退出后30秒自动重新启动

N.B.我在Windows(我的开发环境)中使用Notepad.exe作为子进程进行了测试,并且当父进程退出时,子进程不会退出,因此我的问题是关于我在Linux中可能会做错什么。

注:可能与