So leiten Sie die Ausgabe einer Anwendung im Hintergrund nach / dev / null um

  • Ich möchte die von einer Hintergrundanwendung in Linux generierte Ausgabe nach /dev/null umleiten druckt alle Debug-Meldungen auf dem Terminal aus, die ich nach /dev/null umleiten möchte .

    Jede Idee, wie das geht?

    Danke

    22 November 2011
    Kiran
2 answers
  • Sie verwenden:

     yourcommand  > /dev/null 2>&1
     

    Wenn es im Hintergrund laufen soll, fügen Sie ein & hinzu.

     yourcommand > /dev/null 2>&1 &
     

    >/dev/null 2>&1 bedeutet Weiterleitung stdout zu /dev/null AND stderr zu der Stelle, an der stdout Punkte zu diesem Zeitpunkt

    Wenn Sie möchten, dass stderr auf der Konsole auftritt und nur stdout zu /dev/null geht, können Sie Folgendes verwenden:

     yourcommand 2>&1 > /dev/null
     

    In diesem Fall wird stderr an stdout (z. B. Ihre Konsole) und anschließend zum Original umgeleitet stdout wird umgeleitet auf /dev/null

    Wenn das Programm nicht beendet werden soll, können Sie Folgendes verwenden:

     nohup yourcommand &
     

    Ohne Parameter landen alle Ausgaben in nohup.out

    14 April 2017
    evildead
  • Diese leiten auch beide um:

     yourcommand  &> /dev/null
    
    yourcommand  >& /dev/null
     

    , obwohl das bash-Handbuch das erste bevorzugt .

    20 June 2018
    Jim Hunziker