完了したバックグラウンドジョブの終了コードを抑制する方法

完了したバックグラウンドジョブの終了コードを抑制する方法

完了したバックグラウンドジョブの終了コードを隠す方法はありますか?

たとえば、次のように実行すると:

sleep 5&

5秒後にEnterキーを押すと、端末に以下が表示されます。

[1]+  Done                    sleep 5

最後の通知を非表示または抑制する方法はありますか?

特にしなければならないことは次のとおりです。

答え1

$ sleep 5 &
[1] 1234
$ disown

答え2

大きなハンマーは、「モニターモード」(作業制御)を完全に無効にすることです。set +m:

正常で無効な監視モード:

$ sleep 1 & sleep 2
[1] 5247
[1]+  Done                    sleep 1

$ set +m
$ sleep 1 & sleep 2
[1] 5249
$

ただし、次のようにバックグラウンドプロセスをフォアグラウンドに戻すことはできません。

$ set +m
$ sleep 10 &
[1] 5251
$ fg
-bash: fg: no job control

関連情報