gpt4 book ai didi

c# - 如何使无窗口/命令行应用程序返回但继续在后台执行?

转载 作者:行者123 更新时间:2023-11-30 13:51:06 24 4
gpt4 key购买 nike

我正在 .Net 中编写命令行应用程序。该应用程序本身相当简单,但它必须同步连接到 Web 服务,而 Web 服务又必须连接到 Oracle 数据库,那些部分喜欢从容不迫。

是否有一种直接的方法(无需将我的应用程序 exe 一分为二)继续执行但仍将执行让给命令提示符?

它是 Windows,所以没有“&”。此外,我无法使用 cmd.exe 的“启动”cmdlet。

最佳答案

我认为如果不从您的应用程序运行后台进程是不可能的。但是,一种相当简洁的方法可能是像这样修改您的 Main 方法:

static void Main(string[] args)
{
if (args.Length > 0 && args[0] == "run")
{
//actually run your application here
}
else
{
//create another instance of this process
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = Assembly.GetExecutingAssembly().Location;
info.Arguments = "run";
info.UseShellExecute = false;
info.CreateNoWindow = true;

Process.Start(info);
}
}

无论如何,只是把它从我的头顶上写下来。基本上,它会创建同一可执行文件的新实例,但新进程会看到“运行”命令行参数并完成工作,而不是生成新实例。设置我“应该”的选项允许生成的进程也打印到现有的控制台。

关于c# - 如何使无窗口/命令行应用程序返回但继续在后台执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003482/

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