GoGPT Best VPN GoSearch

OnWorks-Favicon

pipexec - Online in der Cloud

Führen Sie pipexec im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, Windows Online-Emulator oder MAC OS Online-Emulator aus

Dies ist der Befehl pipexec, der im kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows Online-Emulator oder MAC OS Online-Emulator ausgeführt werden kann.

PROGRAMM:

NAME/FUNKTION


pipexec - Erstellen Sie einen gerichteten Graphen von Prozessen und Pipes

ZUSAMMENFASSUNG


pipexec [OPTION]... [PROZESSBESCHREIBUNG]... [PIPE-BESCHREIBUNG]...

BESCHREIBUNG


Pipexec erstellt ein beliebiges Netzwerk (gerichteter Graph) von Prozessen und Pipes dazwischen -
sogar Zyklen sind möglich. Es überwindet die Mängel von Schalen, die typischerweise nur
in der Lage, nicht zyklische Bäume zu erstellen.

Pipexec überwacht auch alle seine untergeordneten Prozesse und ist in der Lage, das gesamte Netzwerk von
Prozesse und Pipes, wenn einer abstürzt. Daher Pipexec kann in SYSV-init oder systemd verwendet werden
Konfiguration zum Ausführen eines Netzwerks von Prozessen.

OPTIONAL


-h Hilfe und Versionsinformationen ausdrucken

-l logfd
Verwenden Sie den angegebenen Dateideskriptor für die Protokollierung. Wenn ein „s“ angegeben ist, wird Syslog verwendet.
Beispiel: Die Angabe „2“ bedeutet, dass in stderr protokolliert wird.

-p pid-Datei
mit Pipexec Es ist möglich, Pipes innerhalb von SYSV-Init-Skripten zu handhaben. In einigen
Umgebungen (z.B. RHEL6, Debian7) benötigen die Start- und Stopproutinen eine PID-Datei. Wenn
Wenn diese Option angegeben ist, schreibt pipexec kurz nach dem Start seine eigene PID in die Datei
von pipexec.

-k Wenn ein Unterprozess (Kind) beendet wird und diese Option angegeben ist, werden alle anderen Unterprozesse
Prozesse werden ebenfalls beendet. Anschließend werden alle Prozesse neu gestartet.

-s Schlafenszeit
das Zeitintervall in Sekunden vor einem Neustart. Diese Option ist nur dann sinnvoll,
außerdem ist die Option „-k“ angegeben.

HINTERGRUND


Innerhalb einer Shell ist es möglich, Prozesse zu starten und die Ausgabe an andere
Prozesse.

Ejemplo:
Katze Kapitel1.txt Kapitel2.txt | grep Vogel | wc -l

Es werden drei Prozesse erstellt: die Standardausgabe (Dateideskriptor (fd) 1) des 'cat'
Der Prozess ist mit der Standardeingabe (fd 0) des Grep-Befehls verbunden, und der Standard
Die Ausgabe des Befehls „grep“ wird mit der Standardeingabe (fd 0) des Befehls „wc“ verbunden.


Bitte beachten Sie, dass die Zuordnung zwischen Namen und Dateideskriptornummer rein
historisch und hat keinen technischen Hintergrund.

Ejemplo:
finden / 1> >(grep .txt) 2> >(wc >/tmp/w.log)

In diesem komplexeren Beispiel ist die fd 1 des 'find'-Prozesses mit der fd 0 von
„grep“ und fd 2 ist mit fd 0 von „wc“ verbunden.

Die Einschränkung bei dieser Art der Spezifikation von Prozessen und Pipes besteht darin, dass es nicht
Es ist nicht möglich, beliebige Zyklen zu haben. Es ist beispielsweise nicht möglich, ein fd von 'wc' an 'grep' zu übergeben.
oder „finden“.

Pipexec überwindet diese Einschränkungen. Es ermöglicht die Verknüpfung zweier beliebiger Dateien
Deskriptoren in einer Reihe von Prozessen.

ANWENDUNG


Beim Aufbau eines Netzwerks von Prozessen und Rohrleitungen besteht die Notwendigkeit, jeden
Element separat.

Die Prozesse sind die Knoten im Netzwerk (gerichteter Graph), die Verbindungen der
Dateideskriptoren zwischen zwei Prozessen sind die Kanten. Jeder Knoten (Prozess) hat eine eindeutige
Name zugewiesen. Dies ermöglicht die Unterscheidung zwischen der Verwendung der gleichen
Befehl mehr als einmal.

Das Format zur Angabe eines Prozesses ist
[ NAME /Pfad/zum/Befehl arg1 arg2 ... argN ]

Der erste Parameter 'NAME' muss ein eindeutiger Name sein. Der zweite Parameter muss den vollständigen
Pfad des auszuführenden Befehls. Bitte beachten Sie, dass immer der vollständige Pfad angegeben werden muss,
Es gibt keine Handhabung der Umgebungsvariablen PATH (leitender Angestellter(2) wird intern verwendet, um neue
Prozesse). Die folgenden Parameter sind die an den Befehl übergebenen Parameter.

Die gesamte Definition muss in eckige Klammern eingeschlossen werden. Die eckigen Klammern müssen
separat angegeben - davor und danach muss ein Leerzeichen stehen.

Das Format zur Angabe einer Pipe zwischen Prozessen ist
{NAME_1:FD1>NAME_2:FD2}

Beispiel
{LS:1>GREP:0}

Die Namen sind die Namen der Prozesse, die Zahlen sind die Nummer der Datei
Deskriptor, der zum Erstellen der Pipe verwendet werden soll. Bei Verwendung von pipexec aus einem
Shell (wie Bash) besteht die Notwendigkeit, die Klammern zu maskieren oder Anführungszeichen zu verwenden.

Beispiele:


Der Shell-Befehl
Katze Kapitel1.txt Kapitel2.txt | grep Vogel | wc -l

entspricht
pipexec [ CAT /bin/kat Kapitel1.txt Kapitel2.txt ] \
[ GREP /usr/bin/grep Bird ] [ WC /usr/bin/wc -l ] \
„{CAT:1>GREP:0}“ „{GREP:1>WC:0}“

Das pipexec-Äquivalent ist in diesem Beispiel länger und komplexer. Aber pipexec kann
Zyklen, die innerhalb einer Shell unmöglich sind:
pipexec [ A /bin/cmd1 ] [ B /bin/cmd2 ] "{A:1>B:0}" "{B:1>A:0}"

Weitere Beispiele finden Sie in der ptee(1) und Peet(1) Manpages.

Verwenden Sie pipexec online mit den Diensten von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.