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
1. Übersicht über die Atomizität von DDL Vor 8.0 ...
Erfahren Sie mehr über ähnliche Methoden zum Ermi...
Screenshots der Effekte: Implementierungscode: Cod...
Systemumgebung: Ubuntu 16.04LTS In diesem Artikel...
Ich habe vor Kurzem angefangen, Linux zu lernen. ...
Meta ist ein Hilfstag im Kopfbereich der HTML-Spra...
Beschreibung: Begrenzen Sie die Anzahl der Textze...
Als Reaktion auf die Popularität von nodejs haben...
Eine MySQL-ähnliche PHP-Switch-Case-Anweisung. wä...
Inhaltsverzeichnis Vorwort Anwendung Filter Ziehe...
Nachdem wir eine halbe Stunde lang versucht hatte...
Ich habe kürzlich über Vue gelesen. Ich habe eine...
Vorwort Js ist heutzutage die am häufigsten verwe...
Inhaltsverzeichnis Vorwort Hintergrunddatenspleiß...
Ubuntu-JDK installieren: [Link] Installieren Sie ...