問題タブ [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.
java - 7大きな zip ファイルの圧縮を処理した後、Zip が終了しない
Windows プラットフォームで Java プログラムを作成しています。特定のファイルを zip アーカイブに圧縮する必要があります。ProcessBuilder を使用して、新しい 7zip プロセスを開始しています。
問題は、完了後に 7zip プロセスが終了しないことです。必要なzipファイルを作成しますが、その後はそこにハングアップします。これは、waitFor()
呼び出しが返されず、プログラムが動かなくなることを意味します。修正または回避策を提案してください。
java - ProcessBuilderからjarを実行すると、ClassNotFoundExceptionが発生します
コマンドラインからjarを実行しようとすると、正常に動作します。私は次のような別のJavaプログラムで同じjarを実行しようとしています:
しかし、これは私にClassNotFoundExceptionを与えています
なぜそれがクラスだと思うのですか?1つの長い文字列で引数を指定できませんか?
java - processbuilder を介してスクリプトを実行する
Java プログラムから Python、Ruby、C、C++、および Java スクリプトを実行しようとしていますが、スクリプトを実行する良い方法として Processbuilder が提案されました。私が理解していることから、Processbuilder は主にネイティブ ファイル (Windows では .exe など) を実行します。ただし、Processbuilder を使用してスクリプト (非ネイティブ) ファイルを実行することについて、いくつか聞いたことがあります。残念ながら、この件に関して私が見つけたものはすべて信じられないほど曖昧です。
誰かが Python や Ruby などの非ネイティブ スクリプトを実行する方法を明確にしてくれたら、とても感謝しています!
java - Swing - ブラウザーを起動し、ユーザーがブラウザーを閉じたときにリッスンする
この特定の要件があります。ユーザーが GUI のボタンをクリックすると、ブラウザを起動する必要があります。2分間待つ必要があります。ユーザーが 2 分前にブラウザーを閉じた場合、ウィンドウ 'A' を起動する必要があります。ブラウザが 2 分以上開いたままになっている場合は、ウィンドウ 'B' を起動する必要があります。
現在、ブラウザウィンドウを起動できます。ただし、ユーザーが閉じると聞くことができません。以下は、私が書いたコードのスナップショットです。
現在、waitFor() はブラウザが起動されるとすぐに戻ります。ユーザーがブラウザ ウィンドウを閉じるまで待つ必要があります。どのようにそれを行うことができますか?
java - Javaプログラム内で開始したばかりのプロセスのPIDを取得するには?
次のコードでプロセスを開始しました
ここで、開始したばかりのプロセスの pid を知る必要があります。
java - LinuxでProcessbuilderを開くJavaスクリプト
もう一度言いますが、今度は Java の質問です。Processbuilder で非ネイティブ スクリプトを実行する方法 (スクリプトを実行するプログラムを呼び出す方法) を教えてもらいましたが、Java スクリプトを実行しようとして、いくつかの問題に遭遇しました。まず、.class または .jar を使用する必要がありますか? これらは両方とも実行できますが、どちらがうまく機能するかはわかりません。そして、どうすればそれらを正しく実行できますか? Java (/usr/lib/jvm/java-6-openjdk/jre/bin/java) を呼び出してから、クラス ファイルへのファイルパスを指定しようとしましたが、うまくいかないようです。
何か案は?
java - SolarisでのJavaのProcessBuilderのパフォーマンスに関するサポートが必要
私の質問は、JVMは、スレッドまたはプロセスに関連するある種のリソースを共有しており、通常の使用で1か月以上経過するとProcessBuilderのパフォーマンスが急上昇する可能性があるということです。すべてのアプリにjava6update21を使用します。
過去数か月の間に、データセンター内の単一のサーバー(Solaris10を実行しているSparcM4000)は、問題なく約6〜8週間稼働できることに気付きました。ただし、すぐに、ProcessBuilderクラスを使用してスクリプトを実行するアプリケーションのパフォーマンスは、パフォーマンスに大きな打撃を与えます。ProcessBuilder.startが戻るまでに1分以上かかる場合があります。再起動後、およびその後数週間、通常の戻り時間は10秒またはおそらく100ミリ秒の範囲です。
5つのスレッドを作成する個別の小さなアプリケーションを作成し、各スレッドはProcessBuilderを使用して「ls」コマンドを10回連続して実行し、元の問題を監視するためにそこから統計を収集します。このアプリケーションは実行のたびに終了し、cronから1時間に1回だけ実行されます。通常、1〜2秒しかかかりません。
昨夜、45日間の稼働時間と通常の動作の後、ProcessBuilderの時間はProcessBuilder.startの呼び出しごとに1分以上に急上昇しました。
上はメモリやCPUの占有を示していません。テストアプリでjstackを実行しようとしましたが、「スレッド_dbエージェントを作成できません」というエラーが発生しました。
何か案は?
java - Java ProcessBuilderは、プロセスからファイル読み取り要求をキャプチャしてストリームとして提供する方法を教えてください。
私はProcessBuilderにある程度精通しており、ストリームを処理します。今、私が自動化しているプロセスが、提供する必要のある2つのファイルからいくつかの情報を読み取るという問題に遭遇しました。現在、私はファイルを作成しており、ProcessBuilderを介してプログラムへのパスを提供しています。近い将来、何百万もの実行が予想されるので、ファイルの読み取りと書き込みではなく、すべての作業をメモリ内で実行することにより、処理を高速化したいと思います。
基本的に、私ができる必要があるのは、自動化されたプログラムからファイルを開く要求をキャプチャし、文字列ストリームなどから期待されるデータを提供することです。もちろん、ProcessBuilderに、私が提供しているファイルパスが、さらに優れたストリームに置き換えられることをなんとかして伝えることができれば。
どうすればこれを達成できますか?
java - Windows7でProcessBuilderを使用してJavaでjavacまたはその他のコマンドラインアプリケーションを実行することはできません
ProcessBuilderを使用してJavaからjavacを実行しようとしていますが、出力が得られず、何も起こりません。入力ストリームを読み取ろうとしましたが(読み取らないとプロセスがハングするバグがあるため)、それでも結果が得られません。最初は必要なすべてのパラメーターをjavacに渡しましたが、機能していなかったため、javac(ヘルプメッセージを出力する必要があります)だけに簡略化しました。
"C:\ Windows \ System32 \ cmd.exe / c C:\\" Program Files \ "\ Java \ jdk1.6.0_23 \ bin \ javac.exe" "C:\\" Program Files \"\を実行してみましたJava \ jdk1.6.0_23 \ bin \ javac.exe "であり、javacへのパス全体を二重引用符で囲んでいますが、それでも何もありません。
エラーが発生します
プログラム"C:\ Windows \ System32 \ cmd.exe / c C:\" Program Files "\ Java \ jdk1.6.0_23 \ bin \ javac.exe"を実行できません:CreateProcess error = 2、システムは指定されたファイルを見つけることができません
しかし、コマンドをコピーしてコマンドラインから実行すると、正常に機能します。
JavaCompilerクラスを使用してファイルをコンパイルすることは知っていますが、Javaからdosアプリケーションまたは.batファイルを実行できないため、最初にこの問題を修正したいと思います。notepad.exeのようなGUIプログラムは問題なく実行できます。
編集2
編集3
2番目のコマンド配列は機能するのに最初のコマンド配列は機能しないのはなぜですか。
java - Javaでbatファイルを実行する
ここでは、Java プログラムからバット ファイルを実行しようとしています。c:\File\Create.bat からバット ファイルを実行したいのですが、コードを実行すると、Java プログラムがある d:\NetBeansPeoject\test.java が検索されます。なぜですか??
ここにコード: