tmuxで色々調べていると、設定方法や始め方、画面分割やセッション維持など、tmuxをフォアグラウンドで実行する方法が主にヒットします。ターミナルマルチプレクサなので正しいのですが、コマンドをバックグラウンドで実行するために使ってみるのはいかがでしょうか。
nohup 〜 &
のように、&
でバックグランドに送ってあげたらええやんけっと思われるかもしれませんが、tmuxでバックグランド実行をしてあげることで、途中アタッチしたり、デタッチしたりできます。途中にコマンドの進捗がみたいことってありますよね。こういう時に便利です。
tmuxのnewには-d
で即デタッチする機能があります。tmux new -d COMMAND
とすることで、tmuxからはデタッチしつつも、コマンドは走らせておけます。
tmux new -d sleep 10
とやると、tmuxに新しいセッションが作成され、その中でsleep 10
が実行されます。もちろん、コマンドが終了したらセッションも削除されます。コマンドの実行が長くなることが予想される場合には使ってみるといいかもしれません。もし、終了後もセッションを維持したかったら以下のようにすると入力待ち状態で待機させられます。
tmux new -d 'sleep 10; read'
こんな感じで、いつ終わるかわからないようなコマンドはバックグラウンドに送りつつも、セッション維持して実行しておくと色々捗りそうです。