GNU/Linux >> Znalost Linux >  >> Linux

$bashpid a $$ se v některých případech liší?

Čtu „BASH kapesního průvodce Oreilly“.
Stálo tam:

ID procesu aktuálního procesu Bash.
V některých případech se může lišit od $$.

Výše uvedené vysvětlení je vysvětleno $BASHPID proměnná.

Otázka: které případy?

Přijatá odpověď:

Příklad je uveden v BASHPID popis manpage bash:

   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.

Zde je příklad subshell vypisujícího obsah proměnné spolu s $$ a obsah BASHPID mimo subshell.

$ 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. Analýza případů pro a proti nastavení odkládacího prostoru na cloudových instancích

  2. Odstraňování problémů se sítí Linux a ladění?

  3. Řez / Grep A Df -h?

  1. Grep And Tail -f?

  2. Ztratil jsem některé soubory poté, co jsem vystřihl a vložil do Ubuntu 12.04?

  3. Raspberry Pi 4 a Kali

  1. Proč se pro některé aplikace doporučuje vytvořit skupinu a uživatele?

  2. Jak se liší SO_REUSEADDR a SO_REUSEPORT?

  3. Jak exportuji a obnovím svá nastavení iptables?