端末(ターミナル)から起動したプロセスを切り離す方法 †端末を起動しコマンドを実行中、端末を閉じると端末から起動したコマンドも停止してしまいます。 関連資料 †標準入力、標準出力、標準エラーをすべて/dev/nullにする †以下の構文により、端末から起動したコマンドの標準入力、標準出力、標準エラーを全て/dev/nullにしています。 コマンド > /dev/null 2>&1 < /dev/null & 実際にエディタソフトであるgeditを上記の構文で端末から起動してみます。 $ gedit *.txt > /dev/null 2>&1 < /dev/null & [1] 6837 上記のようにgeitを起動しました。起動するとプロセスIDが表示されました。 これで、geditを起動した端末を閉じてもgeditが終了しません。 尚、標準出力、標準エラーはファイルとし標準入力は/dev/nullとする場合は以下のような書式になります。 コマンド > ファイル名 2>&1 < /dev/null & 標準出力と標準エラーを別々のファイルに出力したい場合の書式は以下のようになります。 コマンド > 標準出力ファイル名 2> 標準エラーファイル名 < /dev/null & 以上、端末(ターミナル)から起動したコマンドのプロセスを切り離す方法でした。 |