如何使用TProcess启动ssh

时间:2009-10-20 10:10:03

标签: freepascal

我需要在Lazarus中创建一个图形界面,我在12个远程计算机节点上运行miscelaneous命令。其中一些命令永远不会退出/返回(例如我也启动守护进程)。这个图形界面需要将用户(初学者级别)与压倒性的Linux复杂性分开。

我打算通过SSH运行miscelaneous工具和脚本。我试图在TProcess中运行SSH(无密码),但它无法正常工作。为此,我尝试了在Lazarus官方网页(http://wiki.lazarus.freepascal.org/Executing%5FExternal%5FPrograms)上发布的第2,第3和第4个TProcess示例。第四个是“大输出” - 当程序产生超过2KB的输出时。 无论如何,测试程序冻结或者没有从SSH捕获输出。是否有人成功使用TProcess来运行小型和大型输出应用程序?

PS:我在linux上,节点也在Linux上。如果您对 Lazarus 中有关如何执行此操作有其他想法,也请告诉我 - 可能不一定涉及SSH和/或TProcess,但我不知道是否有可能没有它们。


已解决。

我认为这是SSH中的一个小故障因为昨天没有用的所有例子都在今天工作。 我还更改了TProcess.Options以捕获StdError输出。

2 个答案:

答案 0 :(得分:0)

首先,您是否可以让TPRocess调用一个简单的ssh命令来完成并使用文件重定向器(例如ssh ls>输出)将信息输出到文件中?

答案 1 :(得分:0)

解决。

我认为这是SSH的一个小故障,因为昨天没有用的所有例子都在今天工作。此外,我已更改TProcess.Options以捕获Std Error输出。