Hi volker Volker Mueller [mailto:volker.mueller@gmx.de] wrote:
On Thu, 18 May 2000, Martin Stahn wrote:
man koennte auch eine named pipe mit dem Namen ".signature" anlegen, deren "Fuellstand" (immer genau eine sig drin) von einem Daemon gere- gelt wird.
Was ist eine "Named Pipe" und wie geht man damit um/legt sie an? welche schönen weiteren Zwecke koennte man damit erfuellen? (oder: welcher Daemon macht das - bzgl der man-page) Gruß Christoph --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* "Kampe, Christoph" wrote:
* Volker Mueller [mailto:volker.mueller@gmx.de] wrote:
On Thu, 18 May 2000, Martin Stahn wrote: man koennte auch eine named pipe mit dem Namen ".signature" anlegen, deren "Fuellstand" (immer genau eine sig drin) von einem Daemon gere- gelt wird. Was ist eine "Named Pipe" und wie geht man damit um/legt sie an? welche schönen weiteren Zwecke koennte man damit erfuellen? (oder: welcher Daemon macht das - bzgl der man-page)
man perlipc -- Kapitel "Named Pipes" Da ist sogar ein Beispiel fuer eine Signatur d'rin. Wenn Du das Prinzip verstanden hast, kannst Du es sinngemaess auch auf andere Programmiersprachen anwenden. (IPC = Inter Process Communication) m. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Kampe, Christoph schrieb am 22.Mai.2000:
Was ist eine "Named Pipe" und wie geht man damit um/legt sie an?
Linux kennt sieben grundsätzlich verschiedene Dateitypen. Normalerweise hat man normale Dateien (-) und Verzeichnisse (d) zu tun, auch symbolische Links (l) kommen häufiger vor. Es gibt aber auch noch Zeichenorientierte- (c) bzw. Blockorientierte (b) Grätedateien. Diese gibt es im Verzeichnis /dev. Darüberhinaus gibt es Sockets (s) und eben Named Pipes (p), auch fifo (first in, first out) genannt. Wenn man ls -l sagt, so steht das, was ich oben eingeklammert habe als ersten Buchstabe vor den Rechten. Named Pipes funktionieren ähnlich wie die normale Pipe | nur, daß sie halt einen Namen haben. Während die normale Pipe von einem Prozeß angelegt wird und nur von diesem oder seinen Erben benutzt werden kann, kann eine Named Pipe auch von nicht miteinander verwandte Prozesse benutzt werden. Named Pipes kann man mit mknod generieren. mknod FIFO p erzeugt die Named Pipe FIFO.
welche schönen weiteren Zwecke koennte man damit erfuellen?
Man kann in einer Named Pipe hineinschreiben und ein anderes Programm kann aus der Named Pipe lesen. Spaßeshalber kannst Du mal, nachdem Du wie oben FIFO angelegt hast less -f FIFO sagen. Von einem anderen Terminal aus, gibts Du dann etwas in FIFO ein. Z.B: echo "Hallo World" > FIFO oder aber auch cat /etc/passwd > FIFO und schon wird es auf dem ersten Terminal ausgegeben. Wichtig ist aber, daß man zuerst liest und dann schreibt, da ein schreibender Zugriff normalerweise dicht macht, nachdem alles hineingeschrieben wurde.
(oder: welcher Daemon macht das - bzgl der man-page)
Auf /dev gibt es z.B. eine Named Pipe namens xconsole. Manpage gibt es mit: man 4 fifo Im vierten Abschnitt der Man-Pages stehen Beschreibungen von speziellen Dateien, meißt Gerätedateien, aber auch fifos. PS: Ich habe die Zufallssignatur ganz ohne Named Pipe gemacht. Mein Signaturprogramm lautet: ------~/.sig/signatur------------------------------------------- #! /bin/bash ANZAHL=$(ls /home/brod/.sig/sig_*[0-9] | wc -l) SIGNATUR=$(($RANDOM % $ANZAHL)) cat /home/brod/.sig/sig_$SIGNATUR ------------------------------------------------------------------ Dabei wird in der ersten Zeile (ANZAHL=...) ermittelt, wieviele Signaturen es gibt. Die Signaturen heißen bei mir /home/brod/.sig/sig_0 bis /home/brod/.sig/sig_12. Wichtig ist, daß sie mit 0 beginnen und ununterbrochen bis zur letzten Zahl laufen. In der zweiten Zeile wird durch Zufall eine Signatur ausgewählt. Dabei steht $RANDOM für eine Zufallszahl zwichen 0 und 32767. Das % ist die mod-Funktion so wie in C. In der dritten Zeile letztendlich wird die Signatur auf Standardausgabe ausgegeben. im .muttrc steht: et signature=/home/brod/.sig/signatur| Wichtig ist das | am Ende. Das bedeutet, daß nicht die Datei selber als Signatur ausgegeben wird, sondern daß diese Datei ausgeführt wird und die Standardausgabe diesen Befehls als Signatur genommen wird. Es wird halt eine Pipe benutzt, aber keine Named Pipe. ;)) Funktioniert aber nur mit mutt. Mit kmail hat es auch mal funktioniert. Bekomme ich aber nicht mehr hin. Da ich es aber nicht benutze, versuche ich es aber auch nicht mehr es noch mal hin zu bekommen. Bernd -- Bitte die Etikette von Christian beachten: http://www.ndh.net/home/schult/ Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo zusammen, Bernd Brodesser wrote:
------~/.sig/signatur------------------------------------------- #! /bin/bash [..] Funktioniert aber nur mit mutt. Mit kmail hat es auch mal funktioniert. Bekomme ich aber nicht mehr hin. Da ich es aber nicht benutze, versuche ich es aber auch nicht mehr es noch mal hin zu bekommen.
Funktioniert auch mit xfmail: Menue Misc - Signature -> Im Dialog die "default" Sig wie folgt erstellen: Im grossen Textfenster: -- $f Bei Options: Execute "/Pfad/zu/Sig-Script" eintragen. Das $f wird durch das stdout des bei Execute eingetragenen Befehls ersetzt. Und auch tin kann die gleichen Sigs einfuegen (gleich auf 2 Weisen): 1. "65. Create signature from path/command" = !/Pfad/zu/Sig-Script 2. indem man einfach das Verzeichnis "/Pfad/zu/Sig-Dir/" bei "65. Create signature from path/command" eintraegt. Dann muss allerdings das signatur-script woanders liegen, da tin einfach alle im angegebenen Verzeichnis vorhandenen Dateien verwendet. CU David -- Aber was ist JavaScript? Eine Sprache zum Ausspionieren fremder Daten und zum Nerven anderer Leute (etwa durch Pop-up-windows). (Boris Piwinger in de.comm.infosystems.www.browsers) email: David@dhaller.de www: www.dhaller.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (4)
-
a8603365@unet.univie.ac.at
-
B.Brodesser@online-club.de
-
Christoph.Kampe@Dresdner-Bank.com
-
David@dhaller.de