問題タブ [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 投票する
2 に答える
558 参照

ruby - Ruby popen と PostgreSQL createuser の使用

次のコマンドを呼び出してランダムに生成されたパスワードを渡す、非常に単純な rake タスクを作成しようとしています (そして、かなり大きな rake タスクにマージします)。さしあたっては、ランダム生成を偽装して、パスワードを「test」に設定してみましょう。

私のタスク用のコードは次のとおりです。

io.writeまだパスワードを入力する必要があるため、機能していないようです。また、破壊されていません。タスクを実行して手動でパスワードを入力すると、そのパスワードを使用してpsql.

など、かなりの数のバリエーションを試しましたが、それを使用する他の例を見たので、ファイルio.closeを開きます。'w''r''r+'

これを機能させる方法に少し困惑しています。アイデア/コメント/回答をいただければ幸いです。

編集1:これは、違いが生じる場合に備えて、Debian(Lenny)Linuxシステム上にあります。

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

c - popenを使用したノンブロッキングパイプ?

popen()を使用してパイプを開き、非ブロックの「読み取り」アクセスを持ちたいと思います。

どうすればこれを達成できますか?

(私が見つけた例はすべてブロッキング/同期でした)

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

c - fclose()/pclose() が一部のファイル ポインタでブロックされる場合がある

fclose()子プロセスが終了するまで、ファイル記述子ブロックを ing した後、ここで呼び出しますdup()(おそらくストリームが終了したため)。

ただし、のpipe()fork()、を手動で実行してから、パイプの読み取りファイル記述子を ing すると、元のファイルを閉じてもブロックされません。execvp()popen()dup()

なぜこれが発生するのですか? また、FILE *返された fromを閉じてpopen()、代わりにファイル記述子を使用するにはどうすればよいですか?

アップデート:

ドキュメントには を使用するように記載されていますがpclose()fclose()ブロックも同様です。さらに、私は glibc コードをいじって、 をpclose()呼び出すだけfclose()です。fclose()またはを使用しても、動作は同じpclose()です。

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

linux - パイプの popen & status

popenプロセス PA から (読み取り専用)プロセス PO を生成するとします。次にpclose()PA側のパイプ。

PO の側では、標準出力がまだ使用可能かどうかを判断するにはどうすればよいwrite()ですか?

PO 側で SIGPIPE をキャッチしようとしても無駄だったことに注意してください。

UPDATED :fstat(1, &buf)成功せずに使用してみました。

更新: PO を介してこの状態を検出する必要がある理由は、PA から PO の PID にアクセスできないためです (したがって、それを強制終了することはできません)。さらに、PO は、PA の障害に直面した場合、つまり単独で終了する場合に、より堅牢になることを望みます。

解決策: を使用socketpairforkました。プロセスを制御しようとするpopenことは、(少なくとも私にとっては)悪夢であることが判明しました。 貢献してくれたすべての人に感謝します!

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

ruby-on-rails - Ruby/RoR と多くのサブプロセス

Ruby/Rails を使用して無料の Web アプリケーションを構築しようとしています。さまざまな携帯電話会社のオンライン フォームから SMS を送信できるはずです。(これのように(ロシア語で))。

だから、私はする必要があります

  • 私のウェブサイトから SMS を送信したいユーザーを待ちます。
  • オペレーターの Web サイトへの接続を確立します。おそらく、Mechanize を使用しています。
  • キャプチャを取得する
  • ユーザーにキャプチャを表示する
  • ユーザーがメッセージとキャプチャを入力できるようにする
  • オペレーターの Web サイトでフォームを送信します (メッセージ、キャプチャ、電話番号を含む)

オペレーターの Web サイトへの接続は、このすべてのプロセスの間アクティブである必要があります (そうでない場合、キャプチャは変更されます)。私が理解している限りでは、SMS が送信されるたびに (サブ) プロセスを作成する必要があります。rails\ruby でこれを処理する最善の方法を教えてください。

私はまだWeb開発に慣れていません...スレッドを使用する必要がありますか? フォーク?開く?PTYを使用していますか?いくつかの外部宝石?プロセスとどのように通信すればよいですか?

0 投票する
6 に答える
19442 参照

python - Python 文字列から削除

Python で何かを実行するpopenと、各行の末尾にキャリッジ リターン (13) の CR-LF 10 進値を含むバッファーから結果が返されます。これを Python 文字列からどのように削除しますか?

0 投票する
5 に答える
15318 参照

python - コンソールなしでPopenを使用してpythonwでプロセスを実行する

Popen 呼び出しを介して外部プログラムを実行する GUI を備えたプログラムがあります。

しかし、何をしてもコンソールがポップアップします (ファイルハンドルに NUL を渡そうとしました)。コンソールを解放するために呼び出すバイナリを取得せずにそれを行う方法はありますか?

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

python - Python でサブプロセス Popen と PIPE

次のコードは、空の行を出力として出力しますが、これは false です。pdf ファイルに対して 777 のアクセス許可でコマンドをテストしたため、問題はアクセス許可にありません。正しい出力が得られるようにコマンドを修正するにはどうすればよいですか?

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

python - 2.4でWindows非同期Popenプロセスを強制終了します

プロセス(Pyroサーバー)を開き、開いたプロセスを呼び出して情報を取得するためのテストスクリプトがあります。すべてが完了すると、プロセスを閉じる必要があります。これはすべて、ステージングサーバーでの自動テストの一部です。

Python 2.6では、次のことができます。

残念ながら、私はここでPython 2.4にロックされているため、その関数にアクセスできません。もちろん、スクリプトを終了させるだけで、サーバーは存続します。スクリプトが終了する前にそのプロセスを閉じる/強制終了するにはどうすればよいですか?

0 投票する
6 に答える
629 参照

python - Python 文字列から最後の 0 を取り除く

クリップボードからエントリを取得し、1 秒ごとに出力します。

結果:

最後の 0 を返す理由はわかりませんが、文字列ストリップ (int にはストリップがない) を使用できないようです。したがって、0 は文字列を整数にしますか?

上記の結果の python 文字列から最後の 0 を削除するにはどうすればよいですか?

私は Python に変換する BASH スクリプターです。