表と裏を行ったり来たり

お尻に&を付けてバックグランド実行とかやると思うんですが、「あっ。やべっ!」って時にどうしてます?というお話。ちなみに今までわたくしはpid特定してkillってました・・・。

特に止める時に限定した話では無いですが便利なのが「fg」と「bg」。フォアグラウンドとバックグラウンドという訳です。

以下サンプルになります。

まず10秒寝るスクリプト(sleep.pl)を用意してと。

sleep 10;

バックグランドで実行してfgで戻して止める(Ctrl+c)というのが↓。

$ perl sleep.pl &
[1] 92576
$ fg
/usr/local/bin/perl sleep.pl
^C

fgで裏のプロセスが表に出てきてくれます。

逆もまた似たような感じで。表で起動して一時停止(Ctrl+z)してbgで裏においやると。

$ perl sleep.pl
^Z
[1]+  Stopped                 /usr/local/bin/perl sleep.pl
$ bg
[1]+ /usr/local/bin/perl sleep.pl &

これは中々便利ですよ〜。