使用C#在Unix机器上调用perl脚本

时间:2010-09-03 08:05:20

标签: c# perl unix

我需要在Unix机器上执行Perl脚本(基本上是作业提交)。这需要从位于Windows机器上的C#应用​​程序发生。

这完全可能吗?如果是这样,我从哪里开始? 任何阅读材料都会有所帮助!

3 个答案:

答案 0 :(得分:2)

您可以尝试使用这个漂亮的SharpSSH库来连接到unix框。连接后,您可以在那里执行任意命令。

答案 1 :(得分:0)

你可以看一下ssh来实现这个目标。 ssh将建立与远程计算机的连接并运行任意命令。如果在两台计算机之间设置私钥/公钥对,则无需交互式提示即可执行此操作。

也可能有.net的ssh库,这可能比调用外部程序更清晰。

Windows最常见的ssh实现可能是putty,你可以找到here

答案 2 :(得分:0)

这更像是一个架构问题...... 默认情况下,我们没有在会话的窗口侧设置协议集来与unix通信。

这可以通过不同方式解决: 微软决定使用openpegasus.org监控Unix系统,以便在这些盒子上安装标准化的WS-Man接口,其作用类似于WMI在Windows上的作用。我有几个帖子,我一直在试验这个http://www.muscetta.com/tag/wsman/

史蒂夫已经建议的另一种方法是使用PuTTy的SSH库 - 它们是在开源许可下发布的,允许您将代码嵌入到 - 直接在远程主机上调用命令。

使用WSMan / CIM守护程序,优点是您可以通过Web服务进行通信并接收可以使用的序列化对象(假设您已经构建了正确的包装器) - 但默认情况下它并未安装在unix框中; SSH的优点是默认安装在所有现代unix方言上,你可以在unix命令提示符下本地执行任何操作(事实上,这就是你要做的事情),但你必须解析你得到的文本回到壳里。在Windows上还有其他SSH实现,但我相信只有PuTTY是免费的并且可以重复使用。其他变体可能已经在已经构建的库中,但您必须单独购买它们。