bashのjob機能を使う ぷちアドベントカレンダー2017 25日目
CUI環境での実行切替、bash
のjob機能についてのお話です。
CUIでも実行切替
GUIではウィンドウを選んで操作対象を切り替えるように、CUIでも捜査対象を切り替えることができます。そんなときに出てくるのがjob機能です。
マウスの代わりに、ショートカットキーやコマンドを使って操作します。
ざっくり
jobs
- プログラムの一覧と対応番号を表示
Ctrl+z
- いまのプログラムを一時停止(してbashへ戻る)
fg
- プログラムを操作状態に戻す
bg
- プログラムを操作無しで実行(バックグラウンド)
- (コマンド実行時、最後に)
&
- 最初から操作無しで実行
fg
と bg
は数字を渡せます。渡した場合は対応番号のプログラムを対象にします。渡さなかった場合は最近操作し他物が選ばれます。
Ctrl+z
で一時停止、fg
の2つだけで、中断と再開ができます。
&
を付け忘れて実行したとき、Ctrl+z
で一旦止めてbg
で裏で実行。実質的に&
を付けて実行した酔うな状態にできます。
3つの状態
プログラムの状態はこんな感じです。
本当は最小化は動いてるけど、簡易的に...。
終わりに
なんだかんだで多用しているありがたい機能です。ssh
な環境でDB操作や、ファイル編集へ行ったり来たり。どんな環境でも使えるものは良い物です。