家のマシンで確認したところ、子プロセスで動いたRxvtが強制終了させられると
親のバッチファイルまでシグナルが飛んでくるので、結局バッチファイルを
終了するかの確認が入ってうまくない。
そこで、Rxvtからのシグナルを読み捨てるプログラムをC言語で別に作成し、
このプログラムからRxvtを起動するようにした。
一応、これでほぼ満足行く動作をしているのだが、最小化したコマンドプロンプトを
わざわざ開いて中断されるとやっぱりだめである。
DOSの時代にはBREAKというコマンドが動作したのであるが、NT以降のWindowsでは
これは動かないので、コマンドプロンプトを保護する方法がない(と思う)
Windowsにはsigaction関数がないので、POSIXにないsignal関数を使わされるのも
なんだか気持ち悪い・・
それでも、このくらいにしておかないと、いくら時間をかけても
所詮Windowsである。納得行く結論にはなりにくい気がする。
もちろん、startコマンドを使おうとはしたのだが、ネストされたstartの
挙動はどうもおかしく、思った形にはならなかった。