FIFO-Kommunikation (First In First Out) FIFO-Named Pipe, die die Kommunikation zwischen nicht verwandten Prozessen ermöglicht.
Mann 3 mkfifo #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *Pfadname, mode_t Modus); Notiz: FIFOs Beim Öffnen einer FIFO-Datei wird das Lesende blockiert, während darauf gewartet wird, dass das Schreibende geöffnet wird. Auch das Schreibende wird blockiert, während darauf gewartet wird, dass ein anderes Ende geöffnet wird. Codebeispiel: #include <stdio.h> #include <stdlib.h> #einschließen <sys/wait.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <string.h> int main(int argc, char *argv[]) { wenn(argc != 2) { printf("./a.out dateiname1\n"); Rückgabe -1; } printf("beginne mit offenem w\n"); int o_ret = öffnen(argv[1], O_WRONLY); printf("ende öffnen w\n"); char buf[256]; int num = 0; während (1) { memset(buf, '\0', Größe von(buf)); sprintf(buf, "xiaoming--%d", num++); printf("strlen(buf) = %d\n", strlen(buf)); schreiben(o_ret, buf, strlen(buf)); Schlaf (1); } schließen(o_ret); gebe 0 zurück; } file_r.c Seite lesen #include <stdio.h> #include <stdlib.h> #einschließen <sys/wait.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <string.h> int main(int argc, char *argv[]) { wenn(argc != 2) { printf("./a.out dateiname1\n"); Rückgabe -1; } printf("beginne mit dem Öffnen von r\n"); o_ret = öffnen(argv[1], O_RDONLY); printf("Ende offen r\n"); char buf[256]; int num = 0; während (1) { memset(buf, '\0', Größe von(buf)); lesen(o_ret, buf, sizeof(buf)); printf("strlen(buf) = %d\n", strlen(buf)); printf("gelesen ist %s\n", buf); } schließen(o_ret); gebe 0 zurück; } Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: 4 Möglichkeiten zum Ändern des MySQL-Root-Passworts (Zusammenfassung)
>>: jQuery implementiert Warenkorbfunktion
Als ich kürzlich das Linux-Betriebssystem zum Aus...
In diesem Artikel wird der spezifische JavaScript...
Im Test wurde festgestellt, dass wenn die Seitende...
Inhaltsverzeichnis Herkunft Virtueller Speicher P...
Es gibt drei Typen von MySQL-gespeicherten Prozed...
Original-URL: http://segmentfault.com/blog/ciaocc/...
Kürzlich stellte mir ein Freund eine Frage: Beim ...
Denn wenn am Ende des Unterordners kein Schrägstri...
Das Ändern oder Löschen einer Datenbank kann zu D...
1. So verwenden Sie den Link: Code kopieren Der Co...
1. MySQL-Image herunterladen Befehl: docker pull ...
Unabhängig davon, ob es sich um einen Samba-Diens...
1. Projektstruktur 2. Rufen Sie Tomcat.java auf P...
Das Festlegen der Schriftart für die gesamte Site...
Im vorherigen Artikel [Detaillierte Erläuterung v...