« テレビ番組等感想 その 222 | トップページ | テレビ番組等感想 その 223 »

2009年8月10日 (月)

Yash 2 その 130: suspend コマンド 再び

suspend コマンドに -f オプションを付けた。

今までは suspend コマンドは問答無用でシェルを停止させていたのだが、シェルが対話モードであってかつシェルの初期プロセスグループ ID がセッション ID に等しいときは -f オプションを付けないと停止させないようにした。

シェルの初期プロセスグループ ID がセッション ID に等しいときは、シェルのプロセスが属しているそのプロセスグループにはセッションリーダーが含まれている。セッションリーダーが他のシェルによるジョブ制御の対象となっていることは普通あり得ないので、セッションリーダーを停止させるとほぼ間違いなく嵌まる。従って、この場合には停止させようとしてもエラーにして停止しないのが得策と思われる。

一方シェルがセッションリーダーとは別のプロセスグループに属しているときは、プロセスグループを起動させた親プログラムが何らかのジョブ制御を行っていると考えられるので、停止させてもおそらく安全だろう。

ここでいう初期プロセスグループとはシェルが起動された時のシェルのプロセスグループのこと。ジョブ制御が有効な時、シェルは自分自身のプロセスグループを変更することがあるが、その変更前のプロセスグループをいう。

|

« テレビ番組等感想 その 222 | トップページ | テレビ番組等感想 その 223 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Yash 2 その 130: suspend コマンド 再び:

« テレビ番組等感想 その 222 | トップページ | テレビ番組等感想 その 223 »