バックグラウンドでプロセスを実行することは正確に何を意味しますか?
$program
と:の違い $program&
は、入力ファイル記述子がシェルから継承されないということですか、それとも別のものがありますか?
ベストアンサー1
program &
stdin
は依然としてとstdout
同じprogram
ですが、通常は(端末設定に応じて)システムが信号を介して停止しない限りprogram &
読み取ることができません(参照stdin
SIGTTIN
https://en.wikipedia.org/wiki/Job_control_(Unix)#実装)。
バックグラウンドプロセスはキーボードショートカット()からシグナルを受け取らずCtrl-C, Ctrl-\, Ctrl-Z
、もちろんバックグラウンドでプロセスを実行してもシェルを引き続き使用できます(たとえば、他のプロセスの起動など)。