我使用 PsExec 执行多个命令行程序,但是当我调用自己的构建 C# (.net 4.0) 控制台应用程序时,PsExec 确实挂起,并且不会完成......
当调用其他控制台应用程序时,PsExec 将返回如下输出:
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
Connecting to localhost...
Starting PsExec service on localhost...
Connecting with PsExec service on localhost...
Starting [MyExe] on localhost...
[myExe] exited on localhost with error code 0.
但是在我自己的 C# 控制台应用程序上只显示这个输出:
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
我的控制台应用程序本身有一些日志记录,它执行得很好,并在大约 2 秒内以退出代码 0 退出,但 40 秒后,PsExec 仍然没有输出。
在目标机器上,PsExecSVR 仍然安装并运行。
我试图退出控制台应用程序
Environment.Exit();
并且还删除了这一行,并让控制台应用程序自行退出(通过让 void main 自行结束)。但是 PsExec 仍然没有运气。