Envoyer un caractère dans un tty --> maintenir une session

Il s'agit d'envoyer un caractère dans un tty pour simuler une saisie clavier afin d’éviter le timeout d'un serveur de console RARITAN sur un port console d'un serveur Linux.

Script Perl

#!/usr/bin/perl -w
$c = chr(015);
$TIOCSTI = 0x5412;
while (1) {
        ioctl(STDIN, $TIOCSTI, $c);
        sleep 240;
}

  • $c = chr(015) –> Signifie que nous envoyons le caractère Return

Fonctionnement

1 - Le script perl doit être lancé en tâche de fond :

$ ./tiocsti.pl &
$ tty
$ /dev/pts/5
$ lsof | grep tiocsti.pl
[...]
tiocsti.pl  30475     julinux    0u      CHR      136,5      0t0          8 /dev/pts/5
tiocsti.pl  30475     julinux    1u      CHR      136,5      0t0          8 /dev/pts/5
tiocsti.pl  30475     julinux    2u      CHR      136,5      0t0          8 /dev/pts/5

2 - Nous voyons que le script est bien lié au file descriptor “0u” qui correspond à l'entrée standard du tty.

3 - Nous lançons maintenant un SSH sur le RARITANT qui nous redirige vers le port console de notre serveur Linux.

4 - Le caractère Return est envoyé toutes les 240 secondes –> Nous sommes donc jamais déconnecté du port console !

 
asr/sys/envoyer_un_caractere_dans_un_tty_--_maintenir_une_session.txt · Dernière modification: 2016/03/29 23:33 (édition externe)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki