processes

例 #1
processes

例 #1

Bashで遊んでいるのにcoproc何か分かりません。 次の例から始めます。 例 #1 $ coproc MY_BASH { bash; } [1] 95244 $ echo 'ls -l; echo EOD' >&"${MY_BASH[1]}" $ is_done=false; while [[ "$is_done" != "true" ]]; do > read var <&"${MY_BASH[0]}" > if [[ $var == "EOD" ]]; then > is_done="t...

Admin

この場合、bashは親プロセスの共同プロセスをどのように知っていますか、shebang行がこれを変更するのはなぜですか?
processes

この場合、bashは親プロセスの共同プロセスをどのように知っていますか、shebang行がこれを変更するのはなぜですか?

outer.sh: ls -l /proc/$$/exe coproc cat ./inner.sh kill $! inner.sh: ls -l /proc/$$/exe set | grep COPROC || echo No match found coproc cat kill $! を実行すると、./outer.sh以下が印刷されます。 lrwxrwxrwx 1 joe joe 0 Jun 16 22:47 /proc/147876/exe -> /bin/bash lrwxrwxrwx 1 joe joe 0 Jun 16 22:47...

Admin

コプロセスの戻り値と戻り状態
processes

コプロセスの戻り値と戻り状態

この文の意味を理解していません。共同プロセス内部に強く打つマニュアルページ: コプロセスは非同期命令で生成されるため、コルーチンこのコマンドは常に成功を返します。 coprocess の戻り状態は「command」の終了状態です。 「成功」と「成功」の違いは何ですか?戻り値そして「成功/エラー」(0/非-0)終了ステータス?どう違うのか強く打つ?どのように彼らが違いを実現することができますか? ...

Admin

コマンド置換時の coproc と名前付きパイプの動作
processes

コマンド置換時の coproc と名前付きパイプの動作

同じコマンド置換の後続の呼び出しと状態を渡すコマンド置換を介して呼び出されるzshシェルスクリプトから関数を生成する必要があります。 C関数の静的変数に似ています(おおよその)。 この目的のために、私は補助プロセッサを使用する方法と名前付きパイプを使用する方法の2つのアプローチを試しました。名前付きパイプ方法を操作できません。セカンダリプロセッサに関連する唯一の問題を解決すると思ったので、残念です。つまり、端末で新しいzshシェルを入力すると、親のzshセッションのcoprocを見ることができるようです。 以下の問題を説明するために、単純化されたスクリプトを...

Admin

coprocessを使用してBASHで名前参照変数を作成する
processes

coprocessを使用してBASHで名前参照変数を作成する

現在、coprocを使用してバックグラウンドプロセスを開始し、名前参照変数を更新しようとしています。動作しないコード: function updateVariable(){ local -n myVar="${1}" #i=0; while : do sleep 1 myVar="ok" #((++i)) done } capture=""; coproc mycoproc { updateVariable capture; } 期待どおりに動作しません。echo $captureただ空です。 「よかったら」と...

Admin

coprocでcvlcを使用する
processes

coprocでcvlcを使用する

使用したい.mp3仮想インターフェイス(たとえば)は、プレイリストに動的に追加したり、ファイルディスクリプタ全体を新しいデータ(新しいファイル)で上書きしたりするためのファイルディスクリプタvlcファイルを提供します。cvlc.mp3 coproc cvlc cvlc filename.mp3 >& OR >>&"${COPROC[1]}" これは実行されますが、プロンプトが返されるのを待ちます。これは、出力をファイル記述子として指定するため、予期されません。 ...

Admin

BashスクリプトのCoproc
processes

BashスクリプトのCoproc

Raspberry PiのBluetoothを検索可能にするために単純なシェルスクリプトを作成しようとしたところ、いくつかの問題が発生しました。私のRaspberry PiはRaspbianを実行しています。 コマンドラインから実行すると正常に動作します。 coproc bluetoothctl echo -e 'discoverable on' >&${COPROC[1]} ただし、次のことを行うシェルスクリプトを作成するとき: #! /bin/bash coproc bluetoothctl echo -e 'discoverab...

Admin

複数の同時共同プロセスを持つことはできますか?
processes

複数の同時共同プロセスを持つことはできますか?

これ意図以下のテストスクリプト1の目的は、「外部」共同プロセス(実行中)を開始しseq 3、ループからこの共同プロセスのデータを読み取りwhile、読み取った各行について、外部ループの現在の反復を識別する行を印刷し、「内部」 「共同プロセスを開始することです。 " "コプロセス(seq新しいパラメータを使用して実行中)は、ネストされたwhileループからこの内部コプロセスを読み取り、次にこの内部コプロセスをクリーンアップします。ネストされたwhileループは、内部コプロセスで読み取られる各行のいくつかの出力を印刷します。 #!/bin/bash # fil...

Admin

フロントエンド端末アクセスを介してバックグラウンドでコマンドを実行する
processes

フロントエンド端末アクセスを介してバックグラウンドでコマンドを実行する

任意のコマンドを実行し、子プロセスと対話(具体的な詳細は省略)してから、終了するのを待つことができる関数を作成しようとしています。成功すると、入力はrun <command>まるで裸のように動作します<command>。 子プロセスと対話しなかった場合は、単に次のように書いたことでしょう。 run() { "$@" } ただし、実行中に対話する必要があるため、coprocおよびを使用してより複雑な設定を使用しますwait。 run() { exec {in}<&0 {out}>&amp...

Admin

bash coprocessはどのようにパイプライニングを達成しますか?
processes

bash coprocessはどのようにパイプライニングを達成しますか?

ちなみに、この詩は男乱交(強調): 共同プロセス coprocess は coproc 予約語の前にあるシェルコマンドです。コプロセスは、&制御演算子を使用してコマンドが終了したかのようにサブシェルで非同期に実行されます。双方向チューブ付き 実行シェルとコプロセスの間に設定されます。 今私たちが知っているように、他の* nixシステムとは異なりLinuxパイプは一方向です。(また参照人的管理(7)、移植性セクション)。それでは、bash coprocesはLinuxで利用できない「双方向パイプ」をどのように実装しますか? ...

Admin

デフォルトの非irixモードでtopのCPUエラー(オプション1)がクラッシュする結果を表示するのはなぜですか?
processes

デフォルトの非irixモードでtopのCPUエラー(オプション1)がクラッシュする結果を表示するのはなぜですか?

さまざまなフォークでいくつかのベンチマークを実行し、bitcoind実行中にいくつかの競合する値が見つかりましたtop。 下のスクリーンショットでは、8個のCPUそれぞれのCPU使用率が約30%に均等に分散しています。ただし、下のリストビューにはbitcoindCPUが105%で表示されます。 Irixモードではないことを考えると、これはbitcoind1つのCPUが100%で使用されていることを意味します。しかし、上記の分析ではそうではありません。また、私が実行しているPythonプロセスは、それぞれ下部の読み取り値が約40%を報告していますが、上部CP...

Admin

サブプロセスを順次追跡
processes

サブプロセスを順次追跡

リモートサーバーで複数のコマンドを実行しています。SSHパス。 gnome-terminal --maximize --tab --title='aTask' -e "sshpass -p "afsd@#$5u89f" ssh [email protected] 'command1 && command2'" \ だから私の質問は、最後のコマンドがmvn clean installビルドが成功したかどうかをどうやって知ることができるかということです。 ある時点で、他のサブプロセスを順番に開始できるように、最初のサ...

Admin

FreeBSD/TrueOS および OpenBSD
processes

FreeBSD/TrueOS および OpenBSD

ディレクトリで実行されているすべてのプロセスを一覧表示したいと思います。 たとえば、3つのプロセスが実行されているとします。 /home/myname/myapp/process1 /home/myname/myapp/process2 /home/myname/myapp/anotherprocess システムに「実行中のすべてのプロセスのPIDを教えてください/home/myname/myapp」と尋ねるにはどうすればよいですか? 私が考えることができる唯一の方法は ps -eo pid,args | grep -i /home/mynam...

Admin

topを使用せずにtopが提供するシステムタスクの概要を取得するには?
processes

topを使用せずにtopが提供するシステムタスクの概要を取得するには?

top は、要約に次の数字を表示します。 ミッション:合計193個、ランニング1個、睡眠192個、停止0個、ゾンビ0個 私はプログラムを実行し、/ procファイルを解析するなど、他の方法で取得できる方法を探しています。 この数字を取得する方法を知っていますか? 私が得ることができる最も近いものは次のとおりです。 pgrep "" -c 192 そしてtopとpgrep: top -b -n 1 | head -n 2 | tail -n 1; pgrep "" -c 絶対に同意しないでください... たとえば、194と191 gre...

Admin