問題タブ [apache-commons-exec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1072 参照

java - ApacheCommonsExecでプロセスを実行するときにコンソールからすべての出力データを取得する

問題は...私はライブラリのDefaultExecutorクラスでプロセスを実行しています。org.apache.commons.execこのような:

その出力を別のスレッドで「実行中」に取得して、他の場所に記録する必要があります。それを達成するための最良の方法は何ですか?

0 投票する
4 に答える
4464 参照

java - Java を使用する Windows での「プロセス ツリーの強制終了」

Windows バッチ スクリプトの一部である Java Webstart プロセスがあります。この場合、バッチ スクリプトで javaws コマンドを使用しています。このマッチ スクリプト (start.bat) は、「apache commons exec」を使用してプログラムで呼び出されます。状況によっては、javaws によって呼び出された Java プロセスがハングし、バッチ スクリプト start.bat から始まるプロセス スレッド全体を強制終了する必要があります。apache commons execを介してプロセスツリー全体を強制終了するプログラム的な方法はありますか?

「execWatchdog.destroyProcess();」を使ってみました 「start.bat」スクリプトで。ただし、プロセス ツリー全体ではなく、start.bat プロセスのみを強制終了します。

apache-commons-exec または同様のコードを使用してプロセス ツリー全体を強制終了する方法はありますか?

私はこの質問を見てきました C++で同等のタスクを実行するWindows上のC++での「プロセスツリーの強制終了」と同等の実行. JNIを介してWindowsネイティブシステムコールの呼び出しを実装した人がいるかどうか疑問に思っています。

0 投票する
1 に答える
2150 参照

java - Apache Commons Exec からのプロセス オブジェクト

プロセスの作成に Apache Commons Exec jar を使用しています。ただし、呼び出されるプロセスのプロセス ID を制御したいと考えています。

Apache Commons Exec api から「プロセス」オブジェクトを取得する方法はありますか? 「Process クラスを返すパブリック メソッドは、特に問題ありませんでした。

0 投票する
0 に答える
2069 参照

java - Apache commons exec は対話型ターミナル アプリケーションを実行します

まず、apache commons exec に関する他のすべてのスレッドを読みました。端末ベースの実行可能ファイルがあります。実行すると、コマンドラインからの入力を求めるプロンプトが表示されます。Java プログラム内からこのプログラムを実行し、いくつかのコマンドをプログラムに供給する必要があります。私はapache commons execを使用しています。これは私がこれまでに持っているものです:

これはうまくいきません。私のプログラムが起動するとすぐにクラッシュします:

ここのように pipedinputstream も試しました-> Apache Commons Execを使用してコマンドに複数の入力を提供し、出力を抽出する際のトラブル:

これ一つで、最初のプロンプトにぶら下がります!あたかも flush() が効果がないかのように。端末プログラムは何も取得しません。

私もこのアイデアを試しました:Apache Commons Execで起動された実行可能ファイルに文字列引数をパイプする方法は?

exec を起動する前に ByteArrayInputStream にすべてを書き込むと、動作します。exec を起動してから何かを書き込もうとすると、最初のエラーが再び発生します。

どんな助けでも本当に感謝します。

完全を期すために(私はこれを書いていません。インターネットからどこから入手したか覚えていません)。これは、出力を jTextArea にリダイレクトするためのものです。

}

0 投票する
1 に答える
7242 参照

java - プロセス ビルダーまたは apache commons exec を使用した外部プログラムの実行

大きなデータを返す (完了するまでに 2 時間以上かかる) 外部アプリケーションを実行する必要があり、データを継続的に出力します。

私がする必要があるのは、このプログラムを非同期で実行し、出力をファイルにキャプチャすることです。Javaプロセスビルダーを使用してみましたが、プログラムが終了または強制終了された場合にのみハングして出力を返すようです。

プロセスビルダーを使用して、新しいスレッドを作成して出力をキャプチャしようとしましたが、それでも役に立ちませんでした。

次に、apache commons exec について読み、同じことを試しました。ただし、これにも時間がかかるようで、異なるエラーコードを返します(同じ入力に対して)

非常に役立つヘルプまたは実際の例

0 投票する
1 に答える
128 参照

java - 異なる出力-コマンドラインでmathtextを実行する場合と、apache-commons-execを使用してJavaプログラムからコマンドを実行する場合

apache-commons-execを使用してJavaプログラムからmathtextを実行しようとしています。問題は、Javaプログラムから同じコマンドを実行した場合と、シェルを介して実行した場合で、異なる出力が得られることです。したがって、シェルで次のようにmathtextを実行すると、次のようになります。

シェルでは完璧なpngが得られますが、apache-commons-execを使用して同じことを実行すると

方程式ではなく、生のTeX文字列の画像を取得します:(

誰かが問題を解決するのを手伝ってくれませんか?正確な出力を取得したい。ありがとう。

0 投票する
0 に答える
289 参照

java - プロセスがスリープしている時間を除いてJavaで経過したプロセス時間を検出する方法

私は、子プロセスを起動し、stdout を介してデータを受信し、計算を実行する Java プログラムに取り組んでおり、このプロセスが繰り返されます。このプログラムは、Torque 関連の PBS を使用するスーパーコンピューターで実行し、システムの使用率を最大化するために定期的にジョブを一時停止する特別なスケジューリング機能を備えています。

実行中に発生した問題の 1 つは、子プロセスが不可解にハングアップし (原因は現在不明)、Java が決して到着しない応答を待機するインスタンスでした。私がやりたいことは、このプロセスを監視し、実行時間のカットオフを強制することです。つまり、プロセスが異常な時間実行された場合、終了し、何らかのエラーをスローして、これが発生したことを知らせます。

通常、これを行うには Apache commons exec ウォッチドッグを使用します。しかし、このジョブが中断されている時間がこのカットオフに寄与するのではないかと心配しています (開始と終了の System.currentTimeMillis() の違いを使用すると仮定します)。Apache commons exec ウォッチドッグはこれに悩まされますか? 経過時間の計算で中断時間を除外する方法はありますか?

0 投票する
1 に答える
1201 参照

jakarta-ee - Manually create SOAP Messages?

My goal is to set up a generic web service. By "generic" in this context I mean that, one should be able to run an arbitrary sequence of tools on the input (let's say a file). These tools are compiled programms installed on the server.

My idea was to specify each tool in a central WSDL File. This WSDL File is parsed and for each tool, included in the WSDL file, a separate Service Class is created, which executes the respective tool via apache commons exec.

Is it then possible to manually create a SOAP Message in which the sequence of tools, one wants to perform on the input, is specified ? This SOAP Message should then be parsed and the respective Service Classes should be started.

I have to say I'm completely new to Web Service programming and I'm gratefuly for any advice. The above is just an idea and I'm open for any better advice ;)

greetings,

0 投票する
2 に答える
3125 参照

java - Apache Commons exec の使用に関する問題


スクリプトを実行するために Apache コモンズを使用しようとしていますが、端末から実行されたスクリプトは次のようなデータを出力するように見えます

セグメンテーション違反は、バイナリictest(サード パーティ) がどのように機能するかによって予想されます。

Apache Commons execを使用してアプリから同じスクリプトを実行しようとすると、出力ではなくエラーのみが出力されるようです。スクリプトを実行しようとする私のコード スニペットは次のとおりです -

上記のスニペットが返す出力は次のとおりです --

編集 2 -- ProcessBuilder を使用してみました。以下は私のコードです-

ProcessBuilder を使用した結果は次のとおりです --

139 はセグメンテーション違反が原因であり、失敗の原因になっている可能性があると考えています。何か提案はありますか?

ここで何が間違っているのかについての指針はありますか?出力もキャプチャするにはどうすればよいですか?

0 投票する
2 に答える
3007 参照

java - プログラムを開始し、apache commons-execを使用してすぐに終了する方法は?

Apache Commons-Execを使用することで、プログラムを正常に開始できますが、プログラムの開始後にスタータープログラムが中断されました。

次の実行がブロックされないように、プログラムを開始してすぐに終了する方法を尋ねてもよいですか?

私はWin764ビットを使用しています。

ありがとう