-1

$PROMPT に、バックグラウンド プロセスの数を表示するものを入れたいと思います。スクリプトを作成できるバックグラウンドのプロセスを識別するための変数または方法はありますか?

4

2 に答える 2

1

Linux でbashシェルを使用している場合は、変数$( )の一部として asを使用してコマンドを実行できます。$PSこのコマンドps -ea -ocmd,stat | grep -w S | wc -lは、現在スリープしていないすべてのプロセスのリストを表示する必要があります (これが「バックグラウンド」の意味だと思います)。したがって、通常のプロンプトは次のようになります。

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '

次に、次の方法でバックグラウンド プロシージャを挿入できます。

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W $( ps -ea -ocmd,stat | grep -w S | wc -l ) \$\[\033[00m\] '

次のようなプロンプトが表示されます。myhost ~ 61 #

現在のシェルの一部である実際のバックグラウンドジョブが必要な場合は、コマンドをjobs | wc -l次のように置き換えます。

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W $( jobs | wc -l ) \$\[\033[00m\] '
于 2013-04-26T05:04:13.190 に答える