需要澄清:是运行 Nagios 监视器的附加进程,还是您创建的其他进程?
无论哪种方式,您都可以使用 Process.Start() 从您自己的内部启动一个单独的应用程序:
//event handler for the form's Load event
public void MyWindow_FormLoad(object sender, EventArgs e)
{
//kick off the process you want
Process.Start(@"C:\Program Files\MyOtherApp\MyOtherApp.exe");
}
有允许您指定参数或自定义进程的启动行为的重载。但这是基本调用,(给定一个真实的程序位置)应该将单独的 EXE 作为具有默认启动行为的新进程启动(就像您在 Windows 资源管理器中双击它一样)。
现在,如果您需要更多信息,例如让两个程序相互交谈的方法,那么您需要使用适当的详细信息扩展您的问题。
编辑评论:啊。好吧,这有点不同。
通常,在任何给定时间运行的任何 EXE 默认都会出现在任务管理器的进程列表中,无需特殊编码。事实上,很难让进程不出现在该列表中,因为不想被看到的进程是病毒的标志之一。
但是,当您从 Visual Studio 以调试模式运行应用程序时,代码会在 VS 的进程边界内编译和运行,并且不会显示为它自己的进程。为了让它在任务管理器中显示为自己的进程,编译的应用程序必须从 VS 外部运行。你仍然可以调试它,在你启动它之后,通过将 VS 的调试器“附加”到正在运行的进程。但是,这意味着应用程序必须足够稳定且运行时间足够长,以便您手动附加到它。在达到“休息”状态时已完成大部分或全部执行的程序需要进行一些修改,以便等待您附加到它,然后再执行您想要调试的任何操作。