質問
Lazarus でグラフィック インターフェイスを作成し、そこから 12 個のリモート コンピュータ ノードでさまざまなコマンドを実行する必要があります。これらのコマンドの中には、終了したり戻ったりしないものもあります (たとえば、デーモンも起動します)。このグラフィック インターフェイスは、ユーザー (初心者レベル) を Linux の圧倒的な複雑さから切り離す必要があります。
SSH 経由でさまざまなツールやスクリプトを実行するつもりです。TProcess で SSH (パスワードなし) を実行しようとしましたが、機能しません。このために、Lazarus の公式 Web ページに掲載されている 2 番目、3 番目、4 番目の TProcess サンプルを試しました (http://wiki.lazarus.freepascal.org/Executing%5FExternal%5FPrograms)。4 番目は「大きな出力」用です。プログラムが 2KB を超える出力を生成する場合です。とにかく、テスト プログラムがフリーズするか、SSH からの出力をキャプチャしていません。TProcess を使用して、出力の小さいアプリケーションと出力の大きいアプリケーションの両方を実行することに成功した人はいますか?
追伸:私は Linux を使用しており、ノードも Linux 上にあります。これを行う方法について他にアイデアがある場合は、お知らせください。 ラザロ - SSH や TProcess を必ずしも必要としないものかもしれませんが、それらなしで可能かどうかはわかりません。
解決しました。
昨日動作しなかった例はすべて今日は動作しているので、これは SSH の不具合だったと思います。また、StdError 出力もキャプチャするように TProcess.Options を変更しました。
解決 2
解決しました。
昨日動作しなかった例はすべて今日は動作しているので、これは SSH の不具合だったと思います。また、StdError 出力もキャプチャするように TProcess.Options を変更しました。
他のヒント
まず、TPProcess に単純な ssh コマンドを呼び出すことができます。このコマンドは完了し、ファイル リダイレクター (例:ssh ls > 出力)?