Yash 2 その 131: 端末の設定をいじるコマンドをバックグラウンドで起動した時の対処
端末の状態を操作するプログラムを複数動かす際には、一つの端末を複数のプログラムが取り合ってややこしいことになることがある。
Less や vim などのプログラムは、起動時に端末の状態を変更し、終了時に端末の状態を元に戻す。ところがこのようなプログラムを行編集が有効なシェルからバックグラウンドで起動すると、プログラム終了時に端末の状態が正しく元に戻らないことがある。Less や vim は起動時に端末の状態を記録して、終了時にその記録した状態に端末を戻すのだが、バックグラウンドで起動した場合はシェルが行編集を行っている最中の状態を記録してしまうことがあるからだ。
他のシェル (bash, zsh, ksh) の挙動を見てみると、fg コマンドでコマンドを再開し終了した後に端末の状態を復元する作業を行っているようなので、yash も同様の処理を行うことにした。
| 固定リンク
コメント