bashでVLCを呼び出すときにVLCから得られる出力を無効にしたいと思います。下の画像から出力を見ることができます。
では、どうすれば無効になりますか?
説明したように、出力を/ dev / nullにリダイレクトします。ここ動作しません。
図のプロセスを終了するには、終了信号を2回送信する必要があります。プロセスが1つしかない場合はなぜですか?それとも2つありますか?たぶん実際には2つのプロセスがあり、私のコマンドを使用すると、最初のプロセスの出力だけがリダイレクトされます。 ?
バックグラウンドで実行してから終了信号を送信すると、最初はプロセスがシェルで実行されなくなり、ウィンドウでのみ実行されるように見えますが、まもなくいくつかのメッセージが再表示されます。写真を見てください:
とにかく私はその出力を無効にしたいと思います。
アップデート:バックグラウンドでも実行したいです。
vlc &> /dev/null
これはうまくいくはずですが、今試してみましたがうまくいきません。
vlc "filename" &> /dev/null &
ファイルを再生しましたが、最初は大丈夫に見えましたが、ディレクトリを変更して別のコマンドを実行し始め、VLC出力が再び表示されました。
でも今回が初めて試したことで、今は効果があるので今後も効果があると思います。
答え1
を使用すると、vlc > /dev/null
標準出力がリダイレクトされますが、/dev/null
標準エラーは端末に移動します。vlc &> /dev/null
両方の標準出力をリダイレクトするコマンドを使用する必要があります。そして標準エラー。私はこれをテストして動作します。マニュアルによれば、vlc -q
「静かな」モード(出力抑制)が有効になります。まだテストしていません。
編集「バックグラウンドで」が何を意味するのか完全にはわかりませんが、プログラム画面(sudo apt install screen
)を使用すると、端末でコマンドを開始してから端末を閉じますが、コマンドは実行を続行できます。nohup
これも可能です。あるいは、デスクトップでAlt-F2を押すと、コマンドを実行するように求められます。そこからvlcを実行できますが、画面とは異なり、後で端末でvlcと対話することはできません。
この質問に対する別の編集内容はまさに必要なようです。コマンドラインモードでVLC出力を無効にする方法は?