質問: ターミナルからプロセスを完全に切り離すにはどうすればよいですか? 私はubuntuのtilda(ドロップダウンターミナル)を私の「コマンドの中心」として使っています - 他の人がgnome do、quicksilver、launchyを使うのと同じ方法です。しかし、私はそれが起動されている端末からプロセス(例えばfirefox)を完全にデタッチする方法に苦労しています - すなわちそのような(非)子プロセスを防ぐ 発信端末を閉じると終了します。 stdout/stderrを介して発信端末を「汚染」します たとえば、 "適切な"ターミナルウィンドウでvimを起動するために、私は次のような簡単なスクリプトを試しました。exec gnome-terminal -e "vim $@" &> /dev/null & ただし、それでも汚染の原因となります(ファイル名を渡してもうまくいかないようです)。
回答: ttyシェルの関連付けを解除するには、サブシェルからコマンドを実行します。(コマンド)&終了時に端末が閉じられましたが、プロセスはまだ生きています。チェック - (sleep 100) & exit 他の端末を開くps aux | grep sleep プロセスはまだ生きています。