actually, terminate _is_ called also after gs process crashes while executing. so the exceptions are: 1) gs is unconditionally terminated using exit(Child,kill). 2) VM crash, power down & other calamities