問題タブ [popen]

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 に答える
2476 参照

python - Python永続Popen

Popenの同じ「セッション」で複数の呼び出しを行う方法はありますか?たとえば、コマンドを1つの長い文字列に連結しなくても、それを介して呼び出しを行い、その後に別の呼び出しを行うことはできますか?

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

python - Python Popen、ストリームと複数のプロセスを閉じる

gzip、uuencode、標準出力に出力したいデータがあります。私が基本的に持っているものは次のとおりです。

コンプレッサにデータを供給する方法は、compressor.stdin.write(stuff) を使用することです。

私が本当にする必要があるのは、EOF をコンプレッサーに送信することですが、その方法がわかりません。

ある時点で、compressor.stdin.close() を試しましたが、うまくいきません。圧縮プログラムがファイルに直接書き込む場合はうまく機能しますが、上記の場合、プロセスは終了せず、圧縮プログラムで停止します。待つ()。

提案?この場合、gzip は一例であり、あるプロセスの出力を別のプロセスにパイプする必要があります。

注: 圧縮する必要があるデータはメモリに収まらないため、ここでは通信は適切なオプションではありません。また、私がただ走ると

上記の2行の後、それでもエラーでハングします

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

python - Python、Popen のストリームを Python 関数にリダイレクト

私はPythonプログラミングが初めてです。私はこの問題を抱えています:テキストファイルのリスト(圧縮されているものとされていないもの)があり、次のことを行う必要があります:-サーバーに接続してそれらを開く-ファイルを開いた後、彼のコンテンツを取得して別のファイルに渡す必要があります私が書いたpython関数

これらのファイルに含まれる情報を詳しく説明するため。この関数は、3 行を使用して、これらのファイルに保存されているログを 1 行だけで書き込むことを目的としています...この関数は、ローカル マシンから読み取ったファイルに対して正常に動作していますが、リモート サーバーに接続する方法がわかりません。各ファイルの内容を文字列に保存せずにこれらの 1 行のログを作成し、文字列を操作します... リモート マシンに接続するために使用するコマンドは次のとおりです。

retList[0] と retList[2] は、user@remote と、アクセスする必要があるフォルダー名です。

よろしくお願いします!

アップデート:

私の問題は、最初にssh接続を確立する必要があることです:

開く必要があるすべてのファイルはリスト fileList[] に保存され、一部は圧縮 (.gz) され、一部は単なるテキスト ファイルです !! ボットが何も機能しない前にあなたが示したすべての手順を試しました... Popen 関数の 3 番目の引数を変更する必要があると思いますが、その方法がわかりません! 私を助けることができる人はいますか???

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

python - Python の subprocess.Popen は、同じ stdout を返すべきではありませんが、返します

Python の subprocess.Popen で非常に奇妙な問題が発生しています。私はそれを使用して外部exeを数回呼び出し、出力をリストに保持しています。

この外部 exe を呼び出すたびに、異なる文字列が返されます。ただし、Popen を使用して何度か呼び出すと、常にSAME string が返されます。=:-O

exeをリコールせずに、Popenがstdoutから常に同じ値を返しているようです。実際にexeを再度呼び出さずに、ある種のキャッシュを実行している可能性があります。

これは私のコードです:

いったい私は何を間違っているのでしょうか?!

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

c - C での popen() の使用に失敗しましたか?

次のコマンドを実行できます

xwd -root | xwdtopnm | pnmtojpeg > screen.jpg

Linux のターミナルで、現在の画面のスクリーンショットが生成されます。

私はコードで次のことをしようとしています:

次に、プログラムをコンパイルして実行します./popen > screen.jpgが、結果のファイル screen.jpg は認識できません。プログラムを正しくパイプ処理できるようにするにはどうすればよいですか?

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

python - ログ管理に関する質問を開く

問題:

サブプロセスの Popen を使用して新しいプロセスを開始する Python の監視プログラムがあります。これらのプロセスは、非常に長い時間 (数週間から数か月) 実行される可能性があります。Popen で stdout 変数にファイルハンドルを渡しているのですが、このファイルが巨大化しやすいのではないかと心配しています。そのログ ファイル内のデータを安全に移動または削除する方法はありますか?

重要な注意:これは Windows システム上にあるため、どのソリューションも Windows と互換性がある必要があります。

コードスニペット:

これが私がプロセスを作成する方法です。

0 投票する
10 に答える
13245 参照

python - サブプロセスから「リアルタイム」情報を取得するにはどうすればよいですか。Python(2.5)のPopen

サブプロセスモジュールを次のように使用したいと思います。

  1. 実行に時間がかかる可能性のある新しいプロセスを作成します。
  2. キャプチャstdout(またはstderr、あるいは両方、一緒にまたは別々に)
  3. サブプロセスからのデータを受信時に処理します。おそらく受信したすべての行でイベントを発生させるか(wxPythonなど)、または単に今のところそれらを出力します。

Popenを使用してプロセスを作成しましたが、communicate()を使用すると、プロセスが終了すると、データが一度に届きます。

(を使用して)ブロッキングを行う別のスレッドを作成するとreadline()、プロセスが終了するまで、このメソッドでも行を取得できません。(bufsizeとして何を設定しても)myprocess.stdoutstdout = subprocess.PIPE

恐ろしくなく、複数のプラットフォームでうまく機能するこれに対処する方法はありますか?

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

popen - popen とファイル操作

この質問に関連する

私のスクリプトは基本的には正常に動作しますが、時々 fread 関数呼び出しで応答を停止し、失敗の理由を見つけることができないようです。

コマンド例

今のところ、大きなリポジトリのクローン作成中に失敗しています。fread を fgets に変更しても、同じ問題が解決しません。

私のPHP環境についての簡単な情報、

ubuntu 8.04.2で実行中

編集: popen の代わりに proc_open を試してみましたが、スクリプトは同じ場所で動かなくなりました。編集: fread を stream_get_contents に置き換えましたが、それでも同じ場所でスタックしています...

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

c++ - コマンドが存在するかどうかを調べるポータブルな方法 (C/C++)

C 標準ライブラリは、関数systemを提供popenし、コマンドを実行します。しかし、コマンドが存在するかどうかを検出するポータブルな方法はありますか?