Äquivalent zu (foo &>/dev/null &) in der Windows-Shell

Äquivalent zu (foo &>/dev/null &) in der Windows-Shell

Ich möchte eine bestimmte Anwendung (nennen wir sie foo) über die Befehlszeile ausführen, aber ich möchte nicht, dass sie das Terminal blockiert, Datenmüll aus ihren Ausgabe- oder Fehlerströmen in das Terminal einfügt und dass sie auch dann weiterläuft, wenn ich das Terminal schließe. In Bash kann ich das mit tun (foo &>/dev/null &), aber ich weiß nicht, wie ich das in der Windows-Shell machen soll. Kann mir bitte jemand helfen?

Antwort1

Unter Windows gehen Sie hierzu folgendermaßen vor:

start /B foo > NUL 2>&1

Der startBefehl startet einen getrennten Prozess, eine ähnliche Wirkung wie &. Die /BOption verhindert startdas Öffnen eines neuen Terminalfensters, wenn das ausgeführte Programm eine Konsolenanwendung ist (bei GUI-Anwendungen ist dies nicht erforderlich). Das >hat dieselbe Bedeutung wie in Linux und NUList das Windows-Äquivalent von /dev/null. Das 2>&1amEndeleitet stderr zu stdout um, von wo aus alles an geht NUL.

Antwort2

Es gibt kein direktes Äquivalent.

Wie beschriebenHierstart, ein Programm auf eine Weise aufzurufen, die den Anrufer nicht blockiert , kann mit dem Befehl unter Verwendung der Option erfolgen /b. Ich weiß jedoch nicht, wie es in diesem Fall mit der Ausgabeumleitung aussieht. Möglicherweise müssen Sie es in eine Batchdatei einbinden.

Bei > /dev/nullist es einfach: >NUL. NUList ein DOS-Gerätename. Der Kurzoperator ist jedoch nicht verfügbar. Bei müssen Sie den manuellen Weg gehen 2>&1.HierHier noch ein paar weitere Informationen dazu.

verwandte Informationen