Mit Blick auf Computer-Programmiersprachen bieten einige Einblicke, warum Pid-Initialisierung mit Hilfe von Cat-Befehl möglicherweise besser als die Verwendung von Lesebefehl zum Festlegen von PID.
Da diese Frage die POSIX-Shell betrifft, könnte es hilfreich sein, die Zeitachse einer solchen Entwicklung zusammen mit anderen Sprachen zu berücksichtigen.
Betrachten Sie C++ als ein Beispiel. Obwohl C++ keine Shell ist, stellt der zugrunde liegende Mechanismus zur Erreichung der Portabilität (was das Ziel von POSIX ist) hochgradig portierbare Sprachen wie C++ in dasselbe Genre wie Skriptsprachen wie die POSIX-Shell.
Erinnern daran, dass die Sprache neben der Syntax der Sprache und den Kosten, die bei der Ausführung eines bestimmten Formats auftreten, eine Schnittstelle zu der Hardware, die den Befehl ausführt, herstellen kann, damit eine Sprache einen Freiheitsgrad in der Übertragbarkeit erreicht .
Mit diesem vielsagenden, bietet C++ einen Einblick in die tatsächlichen Kosten der Verwendung von Lesebefehl zum Lesen aus der PID-Datei, anstatt einfach die PID-Variable Zeile für Zeile mit der Ausgabe des CAT-Befehls zu setzen.
In C++ ist eine der vielen Möglichkeiten, Benutzereingaben zu lesen, die Verwendung von std :: cin. Damit dieser Prozess stattfinden kann, muss der Compiler der Sprache die Benutzereingabe zur Laufzeit einlesen (z.B. >>). Im Vergleich dazu liest der Compiler zum Ausführen einer Ausgabe nur die Zeichenfolge oder den Funktionsaufruf aus (z. B. < <). Wie in verschiedenen C++ - Texten erwähnt, ist std :: cin keine kostengünstige Aufgabe.
Denken Sie daran, dass Shell eine Befehlszeile interpreter ist, kein statisch typisierter Compiler.
Mit diesem Hinweis könnte man schlussfolgern, dass basierend auf den Problemen, die die Hardwarekompatibilität betreffen, das Setzen von pid durch Ausgabe dem Lesen aus einer PID-Datei durch Aufrufen des Lesebefehls vorzuziehen ist.