[root@myvm1 ~]# ps aux | grep ls
root 13594 0.0 0.1 3912 672 pts/1 R+ 09:46 0:00 grep ls
In den oben, die ps aux
läuft zuerst und seine Ausgabe wird dann an die weitergeleitet grep ls
Befehl. Das grep ls
Befehl läuft nach ps aux
.
Warum also? ps
wissen Sie über den Prozess, der danach läuft und hat es in der Ausgabe?
grep
kann keine Ausgabe verarbeiten, bis sie erstellt wurdegrep
verarbeiten kann entweder vor oder nach dem erstellt werdenps
verarbeiten. Es gibt keinen besonderen Grund, warum es so oder so sein muss.Antworten:
Sie schreiben über eine logische Reihenfolge der Befehlssequenzierung.
Wenn Sie Einblicke in Bash-Verfahren erhalten, erfahren Sie, dass beide Befehle und das Piping-Framework in einer Reihenfolge erstellt werden können, die eigentlich keine Rolle spielt.
Darüber hinaus ist das Piping-Framework höchstwahrscheinlich eine Befehlsumleitung.
Ihre Antwort lautet: der Befehl
ps
wird tatsächlich nach dem Prozess ausgeführt, der ausgeführt wirdgrep
wurde erschaffen.quelle