問題タブ [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.
ruby - シェルスクリプトでラップされた ruby popen を使用する
IO.popen("command").readlines を使用してそのコマンドの STDOUT を取得する宿題の短いファイルを完成させました。ただし、Ruby ファイルをラップするシェル スクリプトを作成する必要があります。問題はありませんが、シェル スクリプトに入れると readlines がハングします。
これは動作します
これは readlines でハングアップします。ruby script.rb
script.sh に含まれるすべてです。
c++ - C ++ system()関数—発行されたコマンドの出力を収集する方法は?
私はC++system()
関数でいくつかのコマンドを実行しています:
発行されたコマンドから標準出力を収集するにはどうすればよいですか?
具体的には、発行されたコマンドの出力(たとえば、コマンドの発行からの出力を一覧表示するディレクトリdir
)を収集したいと思います。
c++ - popenでディレクトリにとどまる
C ++プログラムを作成したいのですが、popen
ここで関数を使用して、Unixのコマンドラインにコマンドを送信しています。正常に動作しますが、を呼び出しcd directory
てもディレクトリは変更されません。cd directory
スクリプトディレクトリパスの変更を終了した後、スクリプトで実行しようとした場合も同じです。. ./script.sh
だから、私はそうではないように実行しなければならないスクリプトですが、関数./sript.sh
でそれを行う方法はpopen
?". "
の最初の引数の前に追加しようとしましpopen
たが、実行". ls"
するとエラーが発生します。
コード:
実行したいのはInmessage.body();
です(これはから受け取っています)。たとえばの場合、実際のディレクトリ内のファイルのリストとともに返されます。しかし、メッセージがの場合、スクリプトのディレクトリを変更しようとするようなことは何も起こりません。string
XMPP
string
"ls"
string
"cd directory"
linux - AF_UNIXソケット:プロセス間でソケットハンドルを渡すことはできますか?
を作成し、ソケットの1つのハンドルを生成されたプロセス( )socketpair()
に渡すと、そのプロセスは親と通信できるようになりますか?popen
私が見た例はfork()
、私の現在のプロジェクトの範囲外であるを使用して適用されています。
更新:簡単なテストを試しました:
クライアント:
socketpair
ソケット付き[0]コマンドライン引数として
posix_spawn
ソケット1を使用したクライアントの使用からクライアント:
write
ソケットへ...クライアントは警告なしに終了します...
この方法には問題があるように思われます。
更新: 私もこのメモを見つけました:
Pipes and socketpairs are limited to communication between processes with a common ancestor.
python - Pythonを使用したWindowsコンソールアプリの出力の読み取りのデバッグ
この質問はこれと非常によく似ています。私のコンソールアプリからの出力を読みたいです。アプリは終了せず、stdinからの入力も受け取りません。
rix0rrrのソリューションを変更してアプリを実行してから彼のソリューションを実行すると、read(1)が返されないため、Pythonがハングします。アプリの初期出力は「サーバーの起動です。\n」です。私のアプリが彼のソリューションの動作を妨げている可能性のあるプロパティを推測できますか?私の変更の範囲は、私がこれを変更したことです:
これに:
また、すぐに返されるアプリのテストバージョンを作成し、その場合はアプリからの出力がread()によって返されることを確認しました。彼の元の、変更されていない例も、予想どおり、ハングしません。
また、Piotrが彼の回答でリンクしているActiveStateコードを試しました。その場合も、プロセスから出力は返されません。
これはVista上のPython2.4.4です。
python - popenの作業ディレクトリを指定するにはどうすればよいですか
Python でコマンドの実行ディレクトリを指定する方法はありますsubprocess.Popen()
か?
例えば:
私のPythonスクリプトは次の場所にありますC:\programs\python
C:\mytool\tool.exe
ディレクトリで実行できD:\test\local
ますか?
サブプロセスの作業ディレクトリを設定するにはどうすればよいですか?
python - プログレスバーの apt-get install の出力の解析
システムでいくつかの簡単なタスクを実行するための簡単な GUI Python スクリプトに取り組んでいます。その作業の一部には、apt-get install
いくつかのパッケージのインストールが含まれます。
これが進行している間、ターミナルのapt-getのインターフェースに表示される小さなパーセンテージを使用して、ダウンロードの進行状況で更新される進行状況バーを表示したいと思います。
しかし!進捗情報を取得する方法が見つかりません。apt-get の出力をパイプまたはリダイレクトすると、各パッケージの「ダウンロードが完了しました」というメッセージを示す静的な行が表示されるだけsubprocess.Popen()
で、スクリプトでの読み取りについても同じです。
ダウンロードされたファイルのパーセンテージを取得するために apt-get の出力から読み取るにはどうすればよいですか?
locking - popen-ロックするか、スレッドセーフではありませんか?
popen()/ pclose()の実装を見てきました。それらはすべてpidの静的リストを使用し、ロックは使用しませんでした。
またはこれ、おそらくNetBSD:
それはどのように見えるか-スレッドセーフではない実装ですか?それとも私は明らかな何かを見逃していますか?
haskell - Haskell の subprocess.communicate に最も近いもの
Haskell から popen() / python の subprocess.communicate を実行したい - プログラムを開始し、stdin を与え、stdout/stderr を取得します。これを行うための最も直接的/ハスケル的な方法は何ですか?