バックグラウンドで実行されているプロセスにコマンドをパイプする方法は?

mamrezo

これは私のループプログラムで、バックグラウンドで実行され、コマンドを待っています。

#include <iostream>

using namespace std;

char buffer[256];

int main(int argc, char *argv[])
{
    while(true){
     fgets(buffer, 255, stdin);
     buffer[255] = 0;
     if(buffer[0] != '\0'){
        cout << buffer;
        buffer[0] = '\0';
     } 
    }
 return 0;
}

私はそれを実行しました:

myLoop &

では、どうすればこのプロセスにコマンドをパイプできますか?

HaukeLaging

「本物の」パイプラインではそれは不可能だと思います。

代わりに、FIFO(名前付きパイプ、を参照man mkfifo)または(よりエレガントですがより複雑な)Unixソケット(AF_UNIX)を使用できます。

./background-proc </path/to/fifo &
cat >/path/to/fifo
# typing commands into cat

私は開発者ではないので、ソケットとの唯一の関係はsocatです。しかし、それは出発点として役立つかもしれません。

プログラムと通信する「サーバー」が必要です。このようなパイプラインはバックグラウンドで開始されます。

socat UNIX-LISTEN:/tmp/sockettest,fork STDOUT | sed 's/./&_/g'

これsedはテスト用です。

次に、1つ以上を開始します

socat STDIN UNIX-CONNECT:/tmp/sockettest

バックグラウンドプログラムのコマンドを生成するプログラムがある場合は、ここでもパイプラインを使用します。

cmd_prog | socat STDIN UNIX-CONNECT:/tmp/sockettest

FIFOと比較した場合の利点は、(forkサーバー側のオプションを使用して)クライアントを切断して再接続できることです。FIFOを使用すると、受信側を実行し続けるためのトリックが必要になります。

while true; do cat /path/to/fifo; done | background_prog

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

分類Dev

pidのないUNIXマシンでバックグラウンドで実行されているプロセスを無期限に閉じる方法は?

分類Dev

PowerShellでバックグラウンドプロセスとしてMavenコマンドを実行する方法

分類Dev

コマンドプロンプトからバックグラウンドで実行されている特定のプロセスを強制終了するにはどうすればよいですか?

分類Dev

バックグラウンドプロセスとして実行される方法で、Pythonスクリプトを「exe」ファイルに「コンパイル」する方法は?

分類Dev

&コマンドによるサービスとバックグラウンドで実行されているプロセスの違い

分類Dev

バックグラウンドで実行されているプログラムでstdinputを渡す方法は?

分類Dev

xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

分類Dev

xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

分類Dev

プロセスがバックグラウンドで実行されているときに表示されるKivyをポップアップします

分類Dev

bashで実行されているバックグラウンドプロセスの数を確認し、各バックグラウンドプロセスを「待機」するにはどうすればよいですか?

分類Dev

すでにバックグラウンドで実行されているプロセスでnohupを使用する方法

分類Dev

バックグラウンドプロセスとして実行されているPythonスクリプトをファイルに出力する

分類Dev

C ++でコンパイルされたプログラムをバックグラウンドで実行し、必要に応じて入力を送信する

分類Dev

これは、プロセスをバックグラウンドで実行し、出力をnohupファイルに出力する正しい方法ですか?

分類Dev

これは、プロセスをバックグラウンドで実行し、出力をnohupファイルに出力する正しい方法ですか?

分類Dev

バックグラウンドでプロセスを実行し、同じコマンドラインでディレクトリを変更する方法

分類Dev

プロセスはバックグラウンドで実行されているとどのように定義されていますか?

分類Dev

Pythonを使用してバックグラウンドで実行されるプロセスを作成します

分類Dev

デバイスがロックされている場合、またはアプリがバックグラウンドで実行されている場合、App Storeのアプリはキーチェーンにアクセスできますか?

分類Dev

サブプロセスコマンドを実行して、バックグラウンドPythonでnodejsサーバーを起動する方法

分類Dev

init、Perlに採用されずにバックグラウンドでプロセスを実行する

分類Dev

アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

分類Dev

アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

分類Dev

アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

分類Dev

新しいバックグラウンドtmuxウィンドウでコマンドを実行し、プロセスが終了するのを待ちます

分類Dev

Pythonスクリプトがバックグラウンドプロセスとして実行されているかどうかを検出する方法

分類Dev

出力を返す前にバックグラウンドで実行されるPythonサブプロセス

分類Dev

実行中のバックグラウンドプロセスがコアリングされているかどうかを知る方法

Related 関連記事

  1. 1

    コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

  2. 2

    pidのないUNIXマシンでバックグラウンドで実行されているプロセスを無期限に閉じる方法は?

  3. 3

    PowerShellでバックグラウンドプロセスとしてMavenコマンドを実行する方法

  4. 4

    コマンドプロンプトからバックグラウンドで実行されている特定のプロセスを強制終了するにはどうすればよいですか?

  5. 5

    バックグラウンドプロセスとして実行される方法で、Pythonスクリプトを「exe」ファイルに「コンパイル」する方法は?

  6. 6

    &コマンドによるサービスとバックグラウンドで実行されているプロセスの違い

  7. 7

    バックグラウンドで実行されているプログラムでstdinputを渡す方法は?

  8. 8

    xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

  9. 9

    xshellでscreenコマンドを使用してバックグラウンドプロセスを実行する

  10. 10

    プロセスがバックグラウンドで実行されているときに表示されるKivyをポップアップします

  11. 11

    bashで実行されているバックグラウンドプロセスの数を確認し、各バックグラウンドプロセスを「待機」するにはどうすればよいですか?

  12. 12

    すでにバックグラウンドで実行されているプロセスでnohupを使用する方法

  13. 13

    バックグラウンドプロセスとして実行されているPythonスクリプトをファイルに出力する

  14. 14

    C ++でコンパイルされたプログラムをバックグラウンドで実行し、必要に応じて入力を送信する

  15. 15

    これは、プロセスをバックグラウンドで実行し、出力をnohupファイルに出力する正しい方法ですか?

  16. 16

    これは、プロセスをバックグラウンドで実行し、出力をnohupファイルに出力する正しい方法ですか?

  17. 17

    バックグラウンドでプロセスを実行し、同じコマンドラインでディレクトリを変更する方法

  18. 18

    プロセスはバックグラウンドで実行されているとどのように定義されていますか?

  19. 19

    Pythonを使用してバックグラウンドで実行されるプロセスを作成します

  20. 20

    デバイスがロックされている場合、またはアプリがバックグラウンドで実行されている場合、App Storeのアプリはキーチェーンにアクセスできますか?

  21. 21

    サブプロセスコマンドを実行して、バックグラウンドPythonでnodejsサーバーを起動する方法

  22. 22

    init、Perlに採用されずにバックグラウンドでプロセスを実行する

  23. 23

    アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

  24. 24

    アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

  25. 25

    アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

  26. 26

    新しいバックグラウンドtmuxウィンドウでコマンドを実行し、プロセスが終了するのを待ちます

  27. 27

    Pythonスクリプトがバックグラウンドプロセスとして実行されているかどうかを検出する方法

  28. 28

    出力を返す前にバックグラウンドで実行されるPythonサブプロセス

  29. 29

    実行中のバックグラウンドプロセスがコアリングされているかどうかを知る方法

ホットタグ

アーカイブ