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
Vor Kurzem hat das Unternehmen damit begonnen, al...
Sechs Schritte von JDBC: 1. Registrieren Sie den ...
Abfrage mehrerer Tabellen Verwenden Sie eine einz...
Da immer mehr Docker-Images verwendet werden, mus...
Inhaltsverzeichnis Hintergrund Wirkung Ideen Hint...
Auswählen oder Erstellen einer Abonnementnachrich...
Problembeschreibung Da wir uns nicht lange bei Za...
Ohne weitere Umschweife werde ich den Code direkt...
Es gibt vier Arten der Positionierung in CSS, die...
1. Der Unterschied zwischen TEXT und BLOB Der ein...
Notiz Beim Entwickeln einer Benutzeroberfläche fü...
Dieser Artikel veranschaulicht anhand von Beispie...
Der <base>-Tag gibt die Standardadresse oder...
Inhaltsverzeichnis Effektanzeige Komponenteneinst...
Vorherige Wörter Zeilenhöhe, Schriftgröße und vert...