Votre expérience des fifo
Fermé
oeuf
-
9 sept. 2007 à 06:32
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 9 sept. 2007 à 16:10
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 9 sept. 2007 à 16:10
A voir également:
- Votre expérience des fifo
- Geforce experience replay instantané bug - Forum Logiciels
- Geforce experience impossible de récupérer les paramètres - Forum Jeux PC
- Désactiver geforce experience ✓ - Forum Carte graphique
- Module d'expérience locale français ✓ - Forum Windows
- Samsung experience service s'arrête systématiquement ✓ - Forum Samsung
4 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
9 sept. 2007 à 10:17
9 sept. 2007 à 10:17
Salut,
Les tubes (ou pipelines) - anglais pipe - permettent la communication inter-processus. Le caractère | (ALTGR - pour clavier AZERTY) est utilisé pour réalisé ça guide d utilisation du shell pour debutant#xxx les redirections et les pipelines
Les tubes sont des cannaux anonymes.
Les tubes nommés (named pipe) sont des fichiers spéciaux équivalents des tubes qui se trouvent dans /dev. On peut les créer avec mknod et mkfifo (voir man mknod et man mkfifo).
Il ne s'agit pas de fait que c'est obligatoire ou pas, mais pour faire communiquer les processus il faut les utiliser, c'est pour ça qu'ils sont présentent dans le système.
Exemple avec pipe |
commande 1 (sortie) | commande2 (lecture de la comande1)
- conversion des pages man en pdf
1. man -t bash - formatage de la page man bash selon le format (troff ou groff) et dirigé vers l'imprimante nommé "ps"
2. le tube | permets de transférer le résultat vers la commande
3. ps2pdf - qui va convertir en pdf
4. la rédirection > permet de dirigé le résultat vers un fichier qu'on l'appelle bash.pdf
Exemple avec tubes nommés
- création du tube nommé
- écriture dans le tube nommé
- lecture depuis le tube nommé
- suppression du tube nommé
Les tubes (ou pipelines) - anglais pipe - permettent la communication inter-processus. Le caractère | (ALTGR - pour clavier AZERTY) est utilisé pour réalisé ça guide d utilisation du shell pour debutant#xxx les redirections et les pipelines
Les tubes sont des cannaux anonymes.
Les tubes nommés (named pipe) sont des fichiers spéciaux équivalents des tubes qui se trouvent dans /dev. On peut les créer avec mknod et mkfifo (voir man mknod et man mkfifo).
Il ne s'agit pas de fait que c'est obligatoire ou pas, mais pour faire communiquer les processus il faut les utiliser, c'est pour ça qu'ils sont présentent dans le système.
Exemple avec pipe |
commande 1 (sortie) | commande2 (lecture de la comande1)
- conversion des pages man en pdf
man -t bash | ps2pdf - > bash.pdf
1. man -t bash - formatage de la page man bash selon le format (troff ou groff) et dirigé vers l'imprimante nommé "ps"
2. le tube | permets de transférer le résultat vers la commande
3. ps2pdf - qui va convertir en pdf
4. la rédirection > permet de dirigé le résultat vers un fichier qu'on l'appelle bash.pdf
Exemple avec tubes nommés
- création du tube nommé
- écriture dans le tube nommé
- lecture depuis le tube nommé
- suppression du tube nommé
lami20j@deb:~$ jobs lami20j@deb:~$ mkfifo -m 0755 /tmp/tempfifo lami20j@deb:~$ ls -l /tmp/tempfifo prwxr-xr-x 1 lami20j lami20j 0 2007-09-09 10:10 /tmp/tempfifo lami20j@deb:~$ ls trash/ > /tmp/tempfifo& [1] 8766 lami20j@deb:~$ jobs [1]+ Running ls --color=auto trash/ >/tmp/tempfifo & lami20j@deb:~$ cat < /tmp/tempfifo ccm.pl ccm.sh dico_en.txt dico_fr.txt fic fichier fifoccm karinn.pl.orig piccolupo resultat tac [1]+ Done ls --color=auto trash/ >/tmp/tempfifo lami20j@deb:~$ jobs lami20j@deb:~$ rm -v /tmp/tempfifo détruit `/tmp/tempfifo' lami20j@deb:~$ ls -l /tmp/tempfifo ls: /tmp/tempfifo: Aucun fichier ou répertoire de ce type lami20j@deb:~$
:D
merci lami20j, mais ce qui m'intéresse surtout n'est pas leur fonctionnement (j'ai des pipes dans tous les coins de mes shell scripts) mais surtout les utilisations que les gens font des tubes nommés. Des cas pratiques, en quelque sorte. Les principes ça baigne :)
merci lami20j, mais ce qui m'intéresse surtout n'est pas leur fonctionnement (j'ai des pipes dans tous les coins de mes shell scripts) mais surtout les utilisations que les gens font des tubes nommés. Des cas pratiques, en quelque sorte. Les principes ça baigne :)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
9 sept. 2007 à 15:43
9 sept. 2007 à 15:43
Un exemple peut être les applications client/serveur pour établir le dialogue entre le client et le serveur.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
9 sept. 2007 à 16:10
9 sept. 2007 à 16:10
Hello
j'exécute une commande sur machine1 et je veux traiter la sortie sur machine2 mais je n'ai pas ou je ne veux pas d'accès direct (rsh ou ssh) mais j'ai un répertoire partagé:
mkfifo /net/dir/fifo
sur machine1 : commande > /net/dir/fifo
sur machine2 : autrecommande < /net/dir/fifo
j'exécute une commande sur machine1 et je veux traiter la sortie sur machine2 mais je n'ai pas ou je ne veux pas d'accès direct (rsh ou ssh) mais j'ai un répertoire partagé:
mkfifo /net/dir/fifo
sur machine1 : commande > /net/dir/fifo
sur machine2 : autrecommande < /net/dir/fifo