Fifo et cat : Partage d'une session avec plusieurs utilisateurs

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Cette technique peut être utilisée pour montrer à un collaborateur ou un client distant ce qu'on est en train de bidouiller sur le serveur..

C'est donc juste pour faire un partage visuel et non interractif comme avec screen (voir cette documentation)

2 Création d'un fichier fifo

mkfifo /tmp/sortieScript
ls -l /tmp/sortieScript
prw-r--r-- 1 yannick yannick 0 Jul 6 02:59 /tmp/sortieScript
mkfifo - Create named pipes (FIFOs) with the given NAMEs.
A FIFO special file (a named pipe) is similar to a pipe, except that it is accessed as part of the file system.
[...] the FIFO special file has no contents on the file system

3 Lecture du fichier par l'utilisateur distant

cat /tmp/sortieScript

Attention: tant que le fichier ne sera pas "caté", il ne pourra pas être utilisé par la commande suivante...

When a process tries to write to a FIFO that is not opened for read on the other side, the process is sent a SIGPIPE signal.

4 Faire sortir script dans ce fichier

script -f /tmp/sortieScript
Script started, file is /tmp/sortieScript

A partir de maintenant tout ce qui est tappé est visible par la personne en train de "cater" le fichier sortieScript y compris les sessions interractives comme vi...

Arrêter de logguer dans le fichier par un CTRL-D

-f Flush output after each write. This is nice for telecooperation [...]

5 Royal : la démo

demo