GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum ist Cd kein Programm?

Ich habe mich immer gefragt, warum cd ist kein Programm, habe es aber nie geschafft, die Antwort zu finden.

Weiß jemand warum das so ist?

Akzeptierte Antwort:

Die cd Der Befehl ändert das „aktuelle Arbeitsverzeichnis“, richtig?

„Aktuelles Arbeitsverzeichnis“ ist eine Eigenschaft, die für jeden Prozess einzigartig ist.

Wenn also cd ein Programm wäre, würde es so funktionieren:

  1. cd foo
  2. die cd Vorgang beginnt
  3. die cd process ändert das Verzeichnis für den cd-Prozess
  4. die cd Prozess beendet
  5. Ihre Shell hat immer noch denselben Zustand, einschließlich des aktuellen Arbeitsverzeichnisses, den sie vor dem Start hatte.

Linux
  1. Warum ist die PGID der untergeordneten Prozesse nicht die PGID des übergeordneten Prozesses?

  2. Warum wird Sigint nicht an den untergeordneten Prozess weitergegeben, wenn er an den übergeordneten Prozess gesendet wird?

  3. Warum eine lange Verzögerung, nachdem der Befehl nicht gefunden wurde?

  4. Warum ist der Standardprozesserstellungsmechanismus Fork?

  5. Warum ist es Rm -rf und nicht Rmdir -rf?

So beenden Sie einen Prozess oder stoppen ein Programm in Linux

Warum „löschen“ den ganzen Bildschirm nicht löschen?

Linux:Schließen Sie ein Programm mit der Befehlszeile (nicht beenden)

warum funktioniert sftp rmdir nicht?

Warum verwenden wir su - und nicht nur su?

Wann sollte ich einen Prozess nicht beenden -9?