次のように見えます[2] 2847
。最初の数字はシェルで生成されたプロセスの列挙にすぎないと思います。 2番目はPIDです。とにかく私はこれらのメッセージについて全く気にしなかったので、それを見るのは面倒です。オフにする方法はありますか? (プロセス終了メッセージがset +bm
無効になっていることがわかりました.bashrc
。)
答え1
最初の数字は位置インデックスです。ジョブ関連コマンド(jobs
などfg
)が使用されます。たとえば、出力を受信すると、ジョブをフォアグラウンドで[2] 2847
実行できます。fg 2
ソースコードを参照してメッセージを無効にする方法はありません。実行するチェックの1つは、シェルが対話型であることを確認することです。したがって、非対話型シェルでコマンドを実行すると、対応する出力を取得できません。たとえば、サブシェルで実行できます。
$ (your_command &)
これはまったく異なるシェルでコマンドを実行するのと同じであるため、他の望ましくない副作用がある可能性があります。
変更したい場合は、bash
特定の出力を削除できます。 Bash 4.2ではjobs.c
オンラインです1428
。
fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);
それ以外の場合は呼び出されます。この特別な場合にのみ消えたい場合は、次のexecute_cmd.c
行をコメントアウトできます762
。
DESCRIBE_PID (last_made_pid);