問題タブ [processbuilder]

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 投票する
3 に答える
3472 参照

java - ProcessBuilder から SCP を呼び出す

アプリで ProcessBuilder を使用しています。SCP を呼び出す必要があります (ファイルをアップロードするため) が、パスワードを指定する方法がわかりません。これを解決するには?

SCP のパスワードをどこに追加しますか?

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

java - Java プログラムからバッチ ファイルを実行する際のエラー

ここに私の問題があります。いくつかのコマンドを含む .bat ファイルがあります。processbuilder を使用して Java プログラムからこのバッチ ファイルを呼び出すと、.bat ファイル内のコマンドが 1 行ずつ実行されます。しかし、perl プログラムを実行する最後の行に到達するとハングし、プログラムは決して終了しません。それは永遠にそこにぶら下がっています。なぜこれが起こっているのか考えてみてください。参考までに、perl コードに問題はなく、実行できます。

0 投票する
3 に答える
1383 参照

java - 呼び出されていないThreadクラスのRunメソッド

私は糸脱毛の世界ではかなり新しい人で、この問題を1週間解決しようとしています。

Threadクラスのrunメソッドが何らかの理由で呼び出されていません。理由はわかりません(ただし、知りたいです)。

tableSizeは、stdinを介して入力を受け取り、それを処理して数行のテキストを出力するPython実行可能ファイルです。この出力を収集して、さらに処理する必要があります。

inputStreamとerrorStreamの出力を処理するための別個のスレッドがあります。このスレッドクラスは以下のとおりです。

何らかの理由で、StreamGobblerクラスのrunメソッドが呼び出されていません。ただし、このクラスのコンストラクターは実行されています。

どんな助けでも大歓迎です。

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

java - ProcessBuilderを使用してJavaアプリケーションを実行しようとすると、クラスが見つからないという例外が発生します

サーブレットからJavaのProcessBuilderを使用して、jarファイルのクラス内でMainメソッドを実行しようとしています。他の依存関係があるため、これを別のプロセスで実行する必要があります。

次の例外が発生しているので、引数配列でパッケージとMainメソッド名(com.test.Main)を正しく渡していないようです。これを正しく行う方法がわかりません。

何か提案をいただければ幸いです。ありがとう。

エラー-java.lang.NoClassDefFoundError:com / test / Mainエラー-原因:java.lang.ClassNotFoundException:com.test.Mainエラー-java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)エラー-java.security.AccessController.doPrivileged(ネイティブメソッド)でエラー-java.net.URLClassLoader.findClass(URLClassLoader.java:190)でエラー-java.lang.ClassLoader.loadClass(ClassLoader.java:307)で)エラー-sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)で

エラー-java.lang.ClassLoader.loadClass(ClassLoader.java:248)でエラー-メインクラスが見つかりませんでした:com.test.Main。プログラムは終了します。エラー-スレッド「メイン」の例外

これが私のコードです。

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

java - パイプ( "|")とgrepはAndroidのProcessBuilderでは機能しません

Androidで合計RAMを取得したい:

grep MemTotalがない場合、catはメモリに関するすべての情報を返します。grepで1行だけ取得したい場合、何も取得しません。どうすればこれを修正できますか?現時点で利用可能なRAMの合計を取得したいだけです。

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

java - ProcessBuilder と Runtime.exec() の比較

どちらの方がよいですか?より良いとは、どちらがより優れたセキュリティなどを備えているかを意味します(使いやすさではありません)。

0 投票する
3 に答える
369 参照

java - システムプロパティがデフォルトからではなく、人間のオペレーターからのものであるかどうかを確認するにはどうすればよいですか?

JARパッケージのスタンドアロンアプリケーションがあります。このアプリケーションを実行すると、一時ディレクトリに解凍され、そのディレクトリ内に子プロセスが生成されます。サードパーティのコードと構成が原因で、データファイルは現在の作業ディレクトリに関連して検出され、Javaにはchdir()メソッドがないため、子プロセスの作業ディレクトリを切り替えるしか方法がありません。

システムプロパティを除いて、すべて正常に動作します。オペレーターは、コマンドラインでいくつかのシステムプロパティを指定することを決定できます。これは、標準のプロパティとサードパーティの構成に関連するプロパティの両方です。

親Javaプロセスで使用可能なシステムプロパティは、デフォルトでは子に伝播されません。私はそれを自分でやるべきです。そして、ここで障害になります。どのプロパティがオペレーターによって設定され、どのプロパティがデフォルトでJVMによって初期化されるかを判断する方法がありません。

そのjava.io.tmpdirを1つ取ります。オペレーターがそれを提供した場合、彼にはそうする正当な理由があります(おそらくデフォルトの場所は「ディスクがいっぱい」です)。子プロセスに設定する必要があります。そうしないと失敗します。しかし、それがオペレーターからのものであるかどうかをどうやって知ることができますか?これは単なるデフォルト値である可能性があります。

使用可能なすべてのシステムプロパティを子プロセスに設定しようとする場合があります。ただし、長いリストが必要であり、さらに悪いことに、コマンドラインの長さが制限されている一部の環境では失敗します。

私がこれまでに見つけた唯一の回避策(かなり邪悪なもの)は、引数なしで最初に別の子プロセスを生成し、それが持つすべてのシステムプロパティを親にパイプバックさせることです。親が持っている値と一致する値がデフォルトです。残りは、ワーカーの子プロセスに渡す必要があります。

誰かがより良い選択肢がありますか?

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

java - ProcessBuilderリダイレクト出力

次のコードを使用して、ProcessBuilderの助けを借りて開始されたプロセスの出力をリダイレクトしようとしています

しかし、それは例外で失敗しました

スレッド"main"の例外java.io.IOException:プログラム "/ myScript >> / myLogFile 2>&1 <&-&"を実行できません:java.io.IOException:error = 2、java.langにそのようなファイルまたはディレクトリはありません.ProcessBuilder.start(ProcessBuilder.java:460)

「/myScript」を渡すだけで問題なく動作します

スクリプトはperlですが、なぜ失敗するのかについての提案/コメントはありますか?

それらすべてをのような個別の引数として渡してみましnew ProcessBuilder("/myScript",">>","/myLogFile")たが、実行されますが、ログファイルにリダイレクトされず、envVarsも使用されません。

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

java - Javaでプロセスを起動できません(ProcessBuilderプロセスはすぐに終了コード128で戻ります)

Javaに別のプログラムを実行させようとしていますが、終了コード128ですぐにエラーが発生し続け、stdoutまたはstderrに何も送信されませんでした。私はまだ運がない単純な「java-version」を試しました。cmdウィンドウで実行すると、正常に実行され、このコードは同様に構成された他のマシン(Windows Server 2003 x64、Java 1.6 update 25)で機能します。

コマンドラインで実行する場合:

出力:

次に、このコードを試します。

出力は次のとおりです。