たとえば、バックグラウンドプロセスを終了した後にbash weil displayを実行した場合、
terminated xxx
このメッセージをどのように無効にしますか?
$ ping g.cn >/dev/null &
[1] 25123
$ pkill ping
[1] + 25123 terminated ping g.cn > /dev/null
答え1
サブシェルでコマンドを実行します。
( ping g.cn >/dev/null & )
変える
ping g.cn >/dev/null &
これにより、プロセスを終了したときにプロセス終了メッセージが表示されなくなります。
答え2
disown
バックグラウンドタスクを実行できます。
$ ping g.cn > /dev/null &
[1] 25123
$ disown %1
$ kill 25123
$ ps ax | grep '[2]5123'
$
これにより、実行中のシェルからプロセスが切り離されます。これにより、ジョブをフォアグラウンドに戻すことはできません。