特定のアプリケーション ( と呼びますfoo
) をコマンド ラインから実行したいのですが、ターミナルを待機させたり、出力やエラー ストリームからターミナルにジャンクを送信したりしたくないですし、ターミナルを閉じても実行し続けたいです。Bash では を使ってそれができます(foo &>/dev/null &)
が、Windows シェルでそれをどうすればよいかわかりません。誰か助けてくれませんか?
答え1
Windows でこれを行う方法は次のとおりです。
start /B foo > NUL 2>&1
コマンドstart
は、分離プロセスを開始します。これは、 と同様の効果です&
。実行中のプログラムがコンソールアプリケーションである場合、 は新しいターミナルウィンドウを開かないように/B
するオプションがあります(GUI アプリケーションでは不要です)。 はLinux と同じ意味を持ち、Windows の に相当します。start
>
NUL
/dev/null
2>&1
終わりstderr を stdout にリダイレクトし、すべてが に送信されますNUL
。