プログラムの出力を抑制するために、それを/dev/null
にリダイレクトできることを知っています。たとえば、クロムからすべてのエラーおよび警告メッセージを非表示にするには、次のようにプログラムを起動できます。
chromium-browser 2> /dev/null &
ただし、エラーメッセージを忘れてタイプすると
chromium-browser &
(コマンドの途中に表示されると非常に煩わしいです)アプリケーションを停止して正しく再起動する以外に何をすべきかわかりません。
アプリケーションを再起動せずにエラー出力を何らかの形でリダイレクトできますか?
Nohupでブラウザを起動し、次のようにターミナルウィンドウを閉じることもできます。
Nohup chromium-browser &
このようにして、ブラウザが起動してコンソールから切り離され、コンソールを静かに閉じることができます。
これはここで答えられました: ここ によって vladr 。答えは(引用)です:
次のスクリプトで試してみました:
[最初のコメントの後のエディション:]
sleep 10#プロセスにアタッチする時間を確保できるように if ["$ sonorfather" == "father"]#無限再帰を回避 then sonorfather = son。/test& fi while true do echo "stdout $ sonorfather" echo "stderr $ sonorfather"> &2 スリープ1 完了
私は息子プロセスが作成される前にstderr出力を無効にしました、これが出力です:
stdoutの父 stdoutの息子 stdoutの父 stdoutの息子 [など...]。
これがあなたの質問に答えることを願っています:息子のプロセスstderrもリダイレクトされました。
代わりにchromium-browser
を実行するようにchromium-browser 2> /dev/null
のエイリアスを設定することもできます。
例えばbashを使用している場合は、/ home/username/.bashrcを編集して行を追加します。
chromium-browser='chromium-browser 2> /dev/null'
またはそれ以上
chrome='chromium-browser 2> /dev/null'
いくつかのキーストロークを保存します。