Tenemos aquí una variable Bash de solo lectura. No se me permite desarmar esa variable.
$ echo $TMOUT
1800
Como solución alternativa, escribí esas líneas (para que mi sesión no salga)
#!/usr/bin/perl
$|++;
while (1) { print "\e[0n"; sleep 120; }
¿Hay un paquete oficial (rpm) que sea similar (como el código Perl anterior) en un repositorio CentOS7 / RHEL7? No me gusta abrir un editor vim, deseo un comando.
bash
rpm
repository
timeout
Ivanov
fuente
fuente
cat
al alejarse de su sesión. Y luego ^ C a tu regreso.exec env TMOUT=0 bash
Respuestas:
Puede emitir comandos perl desde la línea de comandos ...
perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'
o podrías hacer lo mismo en shell (a
sh
/bash
example):while sleep 120; do printf '\33[0n'; done
O podrías usar
watch
:watch -n 120 printf '\33[0n'
fuente
printf '\33[0n'
? Sé cuál es la línea de comandoprintf
. pero que se imprime?\33
es una forma abreviada de que la tecla de escape<esc>[0n
no es un código de escape ANSI conocido, imagino que fue un error tipográfico y debería ser el<esc>[0m
que restablece el color del terminal para aplicaciones / terminales / tty que admiten códigos de escape ANSI.Agregue esto al inicio de su .bash_profile?
Tenga cuidado con la ira de los administradores de sistemas si deja un millón de sesiones antiguas en ejecución como resultado de derrotar sus decisiones de tiempo de espera.
fuente
Aquí está la cosa,
cuando la variable de sesión es "Solo lectura" , debe reemplazar el proceso de shell actual con el comando por "exec".
Entonces, la respuesta a su pregunta es:
Pero recomiendo establecer un valor de tiempo de espera más alto
fuente
¿Por qué no estás cambiando a una sesión no interactiva?
fuente
En mi caso, se define en /etc/profile.d/bash_autologout.sh:
Para encontrarlo, hice:
fuente