アプリケーションを正常に終了するか、少なくともすべての例外をキャプチャして適切に処理することに頼ることができない場合、唯一の選択肢はセッションアプローチに進むことだと思います。基本的に、各ユーザーがログインすると、新しいセッションが確立され、そのセッションIDが今後の呼び出しに対して検証されます。
これを行うことにより、ユーザーが別の場所にログインしようとしたときに、既存の/開いているセッションを終了できるようにすることができます。彼らがPCBからログインしようとし、すでにPC Aからログインしている場合は、プロンプトに入力するだけで、PC Bから続行することを選択した場合、PCAのセッションは非アクティブ化されます。誰かがPCAでアプリを積極的に使用している場合でも、セッションが閉じられるため、その人が発行する次のサービスコールは拒否されます。