IPC :: Pipeline.

Erstellen Sie eine shellähnliche Pipeline vieler laufender Befehle
Jetzt downloaden

IPC :: Pipeline. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Name des Herausgebers:
  • Erin Sch?nhals
  • Website des Verlags:
  • http://search.cpan.org/~wrath/

IPC :: Pipeline. Stichworte


IPC :: Pipeline. Beschreibung

Erstellen Sie eine shellähnliche Pipeline vieler laufender Befehle Ähnlich in der Anrufe-Convention zu IPC :: Open3, Anschließen des ersten Kindes an den First_chld_in-Griff, Pipeline () spawns n Kinder, das endgültige Kind zu Last_Chld_out, und jedes Kind an einem gemeinsam genutzten Standardfehlergriff, KINDER_ERR. Jeder nachfolgende Befehl, der angegeben ist, bewirkt, dass ein neuer Prozess Gabel () ed ist. Jeder Prozess ist mit dem letzten mit einem von Rohr () erstellten Datei-Deskriptorpaar mit DUP2 () verknüpft, um jeden Prozess "Standardeintrag in der letzten Standardausgabe zu ketten. Die in den anonymen Arrays angegebenen Befehle werden in den untergeordneten Prozessen mit einem einfachen EXEC () aufrufen. Ergebnis des Prozesses Pipelining. Andernfalls wird die einfache Skalarzuordnung durchgeführt. Bitten Sie darauf, dass die Verwendung numerischer File-Deskriptoren zu einem impliziten Import von POSIX :: dup2 () bei der Runtime-Dateien: Kette, jedoch etwas anderes dadurch unterscheidet, dass die IDs jedes Prozesses in der Reihenfolge der Spezifikation in einer Liste zurückgegeben werden, wenn er in Array-Kontext aufgerufen wird. Wenn er im skalaren Kontext aufgerufen wird, wird nur die ID des ersten untergeordneten Prozessprozesses ausgegeben -Bering sysRead () und syswrrite () Anrufe. Die Verwendung des Leserungsstandards-Ausgangs und der Fehler der Kinder ist ideal, da Blockierungs- und Pufferüberlegungen gelindert sind. Wenn jeder untergeordnete Prozess vorzeitig stirbt, oder eines der Piped-File-Griffe sind aus irgendeinem Grund das Anrufvorgang das Kernelverhalten erbt Empfang eines Seilpipals, der die Installation eines Signalhandlers für geeignete Wiederherstellung erfordert. Verwenden Sie IPC :: Pipeline; Meine @pids = Pipeline (\ * first_chld_in, \ * last_chld_out, \ * kinder_err, , , ... ); ... Machen Sie ... meine @statusses = map {waitpid ($ _, 0); $? >> 8; } @pids; Anforderungen: · Perl.


IPC :: Pipeline. Zugehörige Software