如何从Windows应用程序生成Linux进程?

Arg*_*tyr 5 linux windows delphi spawning

我互动的32位Windows应用程序(目前德尔福[ENT] 2007至2009年移动)使用命令行交互产卵子流程,做计算密集型任务,这反过来写文本文件,图形用户界面父应用程序解析和分析 - 导致结果的交互式图形显示.

我可以访问多处理器(多用户)Linux集群(通过ssh),并希望将繁重的工作卸载到该集群.我的问题是如何从我的Windows应用程序中生成Linux中的进程.我可以设想使用安全FTP来放置和获取文件,但不知道如何在Linux中生成子进程.

进一步阅读的一些线索会很好 - 但代码/伪代码将是理想的.我可以想象,这可能更多是关于Windows-Linux交互而不是Delphi.

Eva*_*ran 6

如果你有权访问ssh,一个选项是通过它发出命令.例如:

ssh user@host ls -l ~
Run Code Online (Sandbox Code Playgroud)

将在ssh终端中显示用户主目录中的文件.我不确定这是不是你真正想要的.但它可能会奏效.

如果你这样做,你几乎肯定想要设置SSH密码少登录

但是,一个更理想的解决方案可能是在linux机器上设置一个守护进程,它的唯一工作是在后台运行特定的长时间运行的任务,然后让你获取结果.


ski*_*ppy 5

您将不得不在Linux机器上安装一些东西来运行该过程.您可能会发现可以从Windows安装和访问的某种群集或批处理作业提交API.您可能必须编写自定义服务器的代码.如果您可以从Windows驱动ssh进程并且在Linux端安装了sshd,则可以在ssh上运行所有内容.但我最喜欢的是在Linux端编写一个Web服务或简单的CGI脚本,用于获取您的参数和数据,并将结果返回到普通的旧http(或https,视情况而定).

无论如何,这将不仅包括Windows端的编码.

  • +1使用自定义服务器有很多优点.特别是(取决于用于编写它的语言)东西可以在Windows(本地)上编写和调试,然后部署在许多不同的平台上,即使没有sshd.如果你使用FPC或Mono,你可以利用你的Pascal/Delphi知识,这样你就有了先机.它还有一个好处,即控制进程和读/写数据使用相同的机制.在多处理器服务器节点上也更容易扩展. (2认同)

Jam*_*son 5

我会下载完整的"putty"包.

除了出色的安全shell终端外,它还包括用于安全传输文件的PSCP和通过SSH进行远程执行命令的PLINK.

提示:您需要为PLINK设置完整的公钥/私钥配置才能在没有恼人的密码提示的情况下工作.有一个有用的指南http://unixwiz.net/techtips/putty-openssh.html>在哪里.