問題タブ [external-process]

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

google-chrome - Nppexec nppエディターから選択したリンクを外部ブラウザーに渡す方法

選択したテキストをメモ帳++からブラウザ(クロム)に渡すことは可能ですか? TEMP_FILE へのパスではなくコンテンツを渡すには?

このスクリプトで私を助けてくれませんか

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

python - Python:別のファイルのパラメータを使用して外部プログラムを実行する方法は?

別のファイルからインポートされたパラメータを使用してコマンド ライン プログラムを実行する Python スクリプトを作成しようとしています。プログラムのコマンド ライン インターフェイスは次のように機能します。./executable.x パラメータ(a) パラメータ(b) パラメータ(c) ...

私のコードは次のとおりです。

test.dat ファイルは次のようになります。

スクリプトはプログラムを呼び出しますが、変数は渡しません。私は何が欠けていますか?

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

java - Java から既に実行中の外部プログラムと通信する

Javaを使用してUnicodeベースの仮想キーボードを作成し、すでに実行中の外部プログラムに書き込もうとしています。

つまり、プログラムを開始したくありません。すでに実行されているはずです。私のJavaコードはバックグラウンドで実行され、出力を生成してメモ帳またはブラウザに送信します。

これを達成するための最良の方法は何ですか?リンク/提案をいただければ幸いです。前もって感謝します!!

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

ruby-on-rails-3 - 外部プロセスがテーブルの内容を確認できるように、RSpecを使用してモデルテーブルを初期化するにはどうすればよいですか?

複数のプロセスを生成してデータをフェッチし、単一のデータベーステーブルを更新することで、外部ソースからデータを取り込むRailsシステムを作成しています。同時実行の問題を探すためにフェッチ/書き込みプロセスをエミュレートする複数のプロセスを生成するRSpecテストを作成したいと思います。

短い質問

RSpecテストでテーブルを初期化して、外部プロセスがテーブルの内容を確認できるようにするにはどうすればよいですか?(少なくとも、それは正しい質問だと思います。詳細については読んでください...)

長い形式

私のRSpecテストの一般的な構造は次のとおりです。

ただし、外部プロセスは常にモデルテーブルを空と見なします(デバッグ印刷によって確認されます)。その後、テーブルの更新は失敗します。

これは、RSpecがテーブルをロック下に保持しているため、テストの完了後にロールバックを実行できるためだと確信しています。

だから(短い質問を繰り返すために):外部プロセスがテーブルの初期化された内容を見ることができるように、RSpecテストでテーブルを初期化するにはどうすればよいですか?

編集#2

次のテストに入ると、テーブルは前の(外部)プロセスがテーブルを離れた状態になっていることに気付きました。これは理にかなっています。RSpecはテーブルを「認識している」状態にしかロールバックできないため、外部プロセスによって行われた変更は保持されます。

これは解決策を示唆しています。before(:all)を使用してテーブルを明示的に初期化することが機能しているようです。しかし、これは最もクリーンなアプローチですか?

環境

  • Rubyバージョン1.9.3(x86_64-darwin10.8.0)
  • pg(0.13.2)
  • レール(3.2.1)
  • rspec(2.9.0)
  • rspec-rails(2.9.0)
0 投票する
2 に答える
1515 参照

java - 外部プログラムでさまざまなstdoutの動作を処理する方法は?

こんにちは私はJavaプログラムから外部プログラムを実行in real timeし、プログラムが終了するのを待たずにstdoutメッセージを読み込もうとしています。ただし、.exeプログラムごとに異なるstdoutの動作があることがわかり、その処理方法がわかりません。

例1:
server1.exeはコンソールプログラムです。実行すると、ポートで継続的にリッスンします。クライアントが接続されると、stdout1秒ごとに1行の出力が生成されます。「ctrl-C」を押さないと終了しません。

コマンドプロンプトで、次のコマンドを実行します。

クライアントがそれに接続されているとき、私はそれstdout.out fileがリアルタイムで更新されることを発見しました。server1.exeはまだ実行中ですがstdout.out file、stdout出力をリアルタイムで開いて読み取ることができます。

例2:
server1.exeと同様に、server2.exeもコンソールプログラムです。実行すると、ポートで継続的にリッスンします。クライアントが接続されると、1秒ごとに1行のstdout出力が生成されます。「ctrl-C」を押さないと終了しません。

コマンドプロンプトで、次のコマンドを実行します。

stdout.out fileクライアントがserver2.exeに接続していても、空であることがわかりました。server2.exeがまだ実行されている限り、stdoutはに書き込まれませんstdout.out file。そのファイルはで更新されませんreal time。を押すctrl-Cと、突然多くの出力行がに書き込まれstdout.out fileます。

私がt=11で押すと仮定するとctrl-C、t=1からt=11までのすべてのstdout出力がに書き込まれますstdout.out file。この前のt=10では、stdout.outファイルは空です。


例2のプログラムでread the stdout in real timeは、Javaプログラムを使用できないため、問題が発生しています。私のJavaプログラムは次のとおりです。

stdout outputを押さないと、例2のプログラムが生成されない理由を教えてくださいctrl-C

奇妙なことに、コンソールウィンドウでそのプログラムを手動で実行すると、1秒ごとにコンソールウィンドウにstdout出力が出力されます。inputtext = input.readLine()しかし、を使用してJavaから読み取ろうとすると、プログラムがまだ実行されている限り長くinputtextなりますnull(入力テキストを出力してテストしました)。を押すctrl-Cと、BufferedReaderが突然すべての保留中のstdout出力でいっぱいになります。

stdoutserver2.exeをリアルタイムで読み取るにはどうすればよいですか?

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

python - Pythonから外部コマンドへのデータのパイピング

subprocess.Popenにあるものをすべて読みましたが、何かが足りないと思います。

Pythonスクリプトで作成されたリストからデータストリームを読み取り、そのプログラムの結果をファイルに書き込むUNIXプログラムを実行できる必要があります。bashプロンプトから、私はこれを常に問題なく実行していますが、この段階に入る前に、いくつかのバイナリファイルと大量のデータを前処理するPythonスクリプト内からこれを実行しようとしています。

すべての前処理を含まない簡単な例を見てみましょう。

これがbashで実行される方法は次のとおりです。

データがUNIXプログラムに供給される方法も重要です。空白で区切られた2列でフォーマットする必要があります。

どんな助けでもありがたいです...

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

java - JavajarからRスクリプトを実行します

Rスクリプトを呼び出すJavaプログラムがあります。コマンドは次のとおりです。

Rスクリプト「hierarchicalClusteringScript.R」をjarファイルに含めたいと思います。私がそうする場合、コードからスクリプトを呼び出す方法はありますか?どのパスを使用する必要がありますか?

よろしくお願いします

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

bash - groovyから外部プロセスを実行する

groovyのように実行したいbashスクリプトがあります

そのスクリプトはコマンドラインから正常に実行されますが、Groovyから実行しようとすると

次のエラーがあります

同時に

次のような機能定義を返します

groovyから外部スクリプトを実行すると、親プロセスのコンテキストなしで別のプロセスが開始されるように見えます。親プロセスの関数定義が存在しないことを意味します。

誰もがそのような状況に対処する方法を手がかりを持っていますか?

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

asp.net - Asp.net 内で外部実行可能ファイルを実行するためのメモリ制限

HTML ファイルから PDF を生成するために、.NET 4.0 で実行されている C# Web アプリケーションで WkhtmltoPdf を使用しています。一般に、HTML ファイルのサイズが 250KB 未満の場合を除き、すべて正常に動作します。HTML ファイルのサイズがそれを超えると、wkhtmltopdf.exe を実行するプロセスで次のような例外が発生します。タスク マネージャーで、wkhtmltopdf.exe プロセスのメモリ値が 40,096 K の値を超えて増加しないことを確認しました。これがプロセスが途中で中止された理由だと思います。

外部exeのメモリ制限を増やすことができるように構成するにはどうすればよいですか? この問題を解決する他の方法はありますか?

詳細:
コマンド ラインから直接変換を実行すると、PDF が正常に生成されます。したがって、WkhtmlToPdf で問題になる可能性は低いです。

エラーはローカルホストからのものです。DEVサーバーでも同じことを試しましたが、同じ結果になりました。

編集:

より具体的な例外メッセージ: - Process オブジェクトの MainModule プロパティの場合、エラーは - {"ReadProcessMemory または WriteProcessMemory 要求の一部のみが完了しました"}、NativeErrorCode 値 - 299 を示します。

例外:

私が使用するコード:

WkHtmlToPdf.exe プロセスのデバッガーのスクリーンショット:

ここに画像の説明を入力

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

python - 外部プログラムのメモリ使用量を取得する方法-python

Pythonスクリプト内で外部プログラムのメモリ使用量を取得しようとしています。次のようにスクリプトhttp://code.activestate.com/recipes/286222/を使用してみました。

しかし、これは「私のプログラム」ではなく、Pythonスクリプトのメモリ使用量を私に与えているようです。Pythonスクリプト内で使用するためにプログラムのメモリ使用量を出力する方法はありますか?