Re: Safe to kill sqlturbo process?
Posted in 1997
Well, the tbmode -z option IS safe in all states of the engine. It will issue various kill commands (but NOT the -9 option) to tell the engine to terminate. If those fail, the only safe option is to yo-yo the engine. Once again, though, one could examine output from tbstat -u to see if the engine is "safe" and kill it if so, but I have seen cases where the "safe" engine still destroyed the database (which I surmise indicated an engine that moved INTO a critical state between tbstat -u and kill). David Francis wrote: }Following up on the many suggestions that "tbmode -z <pid>" }is the way to go, from the INFORMIX OnLine Administrator's }Guide for the tbmode -z option: } }"Do not kill an OnLine database server process that is in a }critical section of code or is holding a latch. If you do }OnLine initiates an abort. }Refer to page 2-27 for instruction on how to determine if an }OnLine database server process is in a critical section of }code or is holding a latch" } }So, it seems that blanket use of "tbmode -z" isn't }particularly safe as well. At this point, I'm thinking that }the safest way to allow users to kill an sqlturbo process is }to write a script that, given <pid>, checks for latches held }and if it's in a critical section of code, then executes }tbmode -z only if it is safe to do so. } }Francis }