問題タブ [stdin]
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の外部プロセスのSTDOUTから継続的に読み取る
コマンドラインからrubyスクリプトを介してblenderを実行したいのですが、その後、blenderからの出力を行ごとに処理して、GUIのプログレスバーを更新します。ブレンダーが外部プロセスであり、そのstdoutを読み取る必要があることはそれほど重要ではありません。
ブレンダープロセスがまだ実行されているときに、ブレンダーが通常シェルに出力する進行状況メッセージをキャッチできないようです。いくつかの方法を試しました。ブレンダーがまだ実行されている間ではなく、ブレンダーが終了した後、私は常にブレンダーの標準にアクセスしているようです。
失敗した試行の例を次に示します。ブレンダーの出力の最初の25行を取得して印刷しますが、ブレンダープロセスが終了した後でのみです。
編集:
少し明確にするために、blenderを呼び出すコマンドは、進行状況を示す出力のストリームをシェルに返します(パート1-16が完了したなど)。ブレンダーが終了するまで、出力を「取得」するための呼び出しはブロックされているようです。問題は、blenderが出力をシェルに出力するときに、blenderの実行中にこの出力にアクセスする方法です。
unix - 出力の読み取りと入力への書き込みのための疑似ttyを作成する方法
私はfork()とexecvp()を使用して、プロセスが正しく機能するために対話型端末に接続されていると信じる必要があるプロセスを生成しています。
スポーンしたら、プロセスからのすべての出力をキャプチャし、プロセスに入力を送信できるようにします。
psuedo-ttysがここで役立つのではないかと思います。誰かがこれを行う方法についてのスニペットを持っていますか?
java - CLI アプリケーションで Ctrl+C を「インターセプト」するにはどうすればよいですか?
CLI (コマンド ライン インターフェイス) Java アプリケーションで+ (通常はプロセスを強制終了する) をインターセプト するにはどうすればよいですか?CtrlC
マルチプラットフォーム ソリューションは存在しますか (Linux、Solaris、Windows)?
を使用していますが、必要に応じて、他の方法を使用して標準入力から文字を読み取ることができますConsole
。readLine()
perl - ファイルを介して標準入力を与えながら、引数を指定してC実行可能ファイルを実行するPerlスクリプト?
./runnable
引数input.afaで実行して実行したい。この実行可能ファイルへの標準入力は、ファイルfinalfileを介して行われます。以前、bash スクリプトを使用して同じことを試みましたが、うまくいかないようです。それで、Perl がそのような機能を提供するかどうか疑問に思っていました。バックティックまたは system() 呼び出しを使用して、引数を指定して実行可能ファイルを実行できることはわかっています。ファイルを介して標準入力を与える方法に関する提案。
_更新_
私が言ったように、私は同じためにbashスクリプトを書きました。Perl でそれを行う方法がわかりません。私が書いたbashスクリプトは次のとおりです。
標準入力ファイルのデータは次のとおりで、各行が 1 回の入力に対応しています。したがって、10 行ある場合、実行可能ファイルは 10 回実行されます。
c++ - QTextStream を使用して標準入力をブロックしない方法で読み取る
Qt を使用して、stdin ストリームの内容をノンブロッキングで読み取ろうとしています。QSocketNotifier を使用して、ソケットが新しいデータを受信したときに警告します。通知機能のセットアップは次のようになります。
スロットは次のonData()
ようになります。
ご覧のとおり、select() システム コールを使用して、読み取るデータがなくなったことを知らせようとしています。ただし、実際には、テキストの最初の行を読んだ後に select() 呼び出しが 0 を返します。したがって、たとえば、プロセスの stdin ストリームに 5 行のテキストを書き込むと、最初の行しか読み取れません。
何が問題なのですか?
c# - バイナリを標準入力に入れることはできますか? C#
この質問に関連して、ファイル名なしで 7z でバイナリを暗号化しますか?
C#では、バイナリをSTDinに入れるにはどうすればよいですか? 以下が機能することを望んでいましたが、機能しません。そして、それは理にかなっています。では、byte[] 配列をプッシュするにはどうすればよいでしょうか。
c# - 7-Zip を使用して stdin を圧縮し、stdout で出力できませんか?
「実装されていません」というエラーが表示されます。
stdin を介して7-Zipを使用してファイルを圧縮し、stdout を介してデータを取得し、アプリケーションでさらに変換を行いたいと考えています。man ページでは、次の例を示しています。
% エコー フー | 7z ダミー -tgzip -si -so > /dev/null
Windows と C# を使用しています。
結果:
コード:
ファイルをメモリに読み込む別の簡単な方法はありますか?
現在、1) 一時ファイルへの書き込みと読み取り (簡単で、いくつかのコードをコピー/貼り付けできます) 2) ファイル パイプを使用します (中程度ですか? 私はそれをやったことがありません) 3) 他の何か。
c++ - 標準入力が端末かパイプかを検出しますか?
ターミナルから引数なしで" " を実行するpython
と、Python インタラクティブ シェルが起動します。
ターミナルから" " を実行するとcat | python
、インタラクティブ モードが起動しません。どういうわけか、入力を取得せずに、パイプに接続されていることを検出しました。
C、C++、または Qt で同様の検出を行うにはどうすればよいですか?