我打电话cmd
文件调用ssh
与Linux机器互相通信。我使用.NET Process
类来完成此操作。但是,Windows服务调用中被调用时失败,以下错误:当我启动应用程序控制台应用程序ssh在windows服务中被调用时失败
C:\test>ssh -o StrictHostKeyChecking=no -i private_linux_key [email protected] "ls"
0 [main] ssh 9496 fhandler_base::dup: dup(some disk file) failed, handle 0, Win32 error 6
dup() in/out/err failed
一切正常。
这种失败的可能原因以及如何解决这个问题?
编辑所有Windows服务需要做的 - 莫名其妙的Linux机器上杀了预定义的守护
感谢
编辑
类似的问题描述有:http://www.velocityreviews.com/forums/t714254-executing-commands-from-windows-service.html
我们遇到了同样的问题。我们编写了一个程序来自动创建DOS批处理文件并执行它们。该程序负责标准输入,输出和错误。更具体地说,它创建一个批处理文件,它调用sh.exe(msysgit的一部分)来执行BASH shell脚本。在shell脚本中,我们使用ssh命令,它会返回与您非常相似的错误消息。 – 2011-07-22 08:36:00