Se me ocurre (bueno en realidad yo lo uso)
Coges la hora de acceso y cuando pasen X segundos de inactividad aces un sesion destroy, sino te e entendido mal esto valdria.
Ejemplo:
Código PHP:
$fechaGuardada = $_SESSION["ultimoAcceso"];
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));
if($tiempo_transcurrido >= 2000) {
session_destroy();
else {$_SESSION["ultimoAcceso"] = $ahora;}