2
|
Lonnie Best · 技术社区 · 15 年前 |
1
5
原因是
避免这个问题的一种方法是,当第一个应用程序启动第二个应用程序时,第一个应用程序输出,当收到该输出时,从主应用程序监视从(现在是第三个)应用程序创建进程。启动第三个应用程序后,它应该出现在
然后,您的代码看起来像这样(未测试):
请注意,这只是一个示例,如果第三个进程未能启动或结束得太快,那么该方法将挂起一个无限循环。这个示例只是为了向您提供构建适用于您的特定案例的知识,而我对此并不完全熟悉。您应该至少确保while循环不会永远持续下去,并且您可能还需要做一些其他的调整。 编辑:或者,如果您不能修改源到第一个应用程序,您可以简单地创建一个以这种方式(使用while循环)持续监视的新线程,并在单独的类中处理来自第三个进程的输出,或者简单地将来自第三个进程的输出重新路由到用于第二个进程输出的处理程序中。这样您就可以有一个方法来处理两个进程的所有输出。 |
2
1
是否需要启动cmd.exe?不能直接在进程中启动rsync进程,然后使用类似中描述的技术吗? this question 要从命令执行中捕获输出,以便在代码中使用它们? |