サブシェルと関連コマンドをバックグラウンドに配置するには?

サブシェルと関連コマンドをバックグラウンドに配置するには?

次のようにサブシェルで一連のコマンドを実行します。

(git pull;git rebase develop)&>/dev/null 

私はこれが作成されたサブシェルとサブプロセスをバックグラウンドに置き、ユーザーに制御を返すと思います。

しかし、実際には端末がしばらく停止し、サブシェルのコマンドが完了するのを待っているようです。

それでは、なぜこれが起こり、そのようなことを行う正しい方法が何であるかを説明できる人はいますか?

ベストアンサー1

bashシェルを実行すると、標準出力とエラーストリームは(と同じ)にリダイレクトされますが、サブシェルは非同期&>/dev/nullプロセスとして実行されません。これを行うには、最後に追加のコンテンツを追加する必要があります。/dev/null>/dev/null 2>&1( ... )&

(git pull; git rebase develop) &>/dev/null &

ksh93そのような機能はなく、POSIXでは使用できません。

おすすめ記事