Hola,
Las sesiones de PHP tienen un sistema de "recogida de basura" (garbage collector) que se control con las directivas de sesion gc_*.
Con esas directivas puedes especificar despues de cuanto tiempo se caduca la sesion despues de no ser accedida en determinado tiempo. Una vez caducada, puede ser eliminada fisicamente el fichero.
Asi la sesion caduca despues de x segundos desde la ultima vez que fue accedida.
Saludos.
PD: Viene algo mas explicado en
www.php.net/session .