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

$bashpid und $$ unterscheiden sich in manchen Fällen?

Ich lese „BASH Pocket Guide of Oreilly“.
Da stand:

Die Prozess-ID des aktuellen Bash-Prozesses.
In einigen Fällen kann diese von $$ abweichen.

Obige Erklärung , erklärte $BASHPID Variable.

Frage: welche Fälle?

Akzeptierte Antwort:

Ein Beispiel finden Sie in der BASHPID Beschreibung der Bash-Manpage:

   BASHPID
          Expands to the process id of the  current  bash  process.   This
          differs  from  $$ under certain circumstances, such as subshells
          that do not require bash to be re-initialized.

Hier ist ein Beispiel einer Subshell, die den Inhalt der Variablen zusammen mit $$ ausgibt und den Inhalt von BASHPID außerhalb der Unterschale.

$ echo $(echo $BASHPID $$)      $$       $BASHPID
              25680    16920    16920    16920
#             |        |        |        |
#             |        |        |        -- $BASHPID outside of the subshell
#             |        |        -- $$ outside of the subshell
#             |        -- $$ inside of the subshell
#             -- $BASHPID inside of the subshell

Linux
  1. Cut / Grep und Df -h?

  2. Warum wird empfohlen, für einige Anwendungen eine Gruppe und einen Benutzer zu erstellen?

  3. Grep und Schwanz -f?

  4. Warum werden einige von Nmap gemeldete Ports gefiltert und die anderen nicht?

  5. Pthreads und Vfork?

Sysadmin University:Schnelle und schmutzige Linux-Tricks

So entfernen Sie die Titelleiste aus Firefox und sparen wertvollen Platz auf dem Bildschirm

Warum sind einige Emoji B&W und andere zu groß?

Carriage Returns und Line Feeds werden Sie letztendlich beißen - einige Git-Tipps

Wann wird ein Signal behandelt und warum frieren einige Informationen ein?

Wie unterscheiden sich ulimit -n und /proc/sys/fs/file-max?