GNU/Linux >> Belajar Linux >  >> Linux

$bashpid Dan $$ Berbeda Dalam Beberapa Kasus?

Saya sedang membaca “BASH pocket guide of Oreilly”.
Dikatakan:

ID proses dari proses Bash saat ini.
Dalam beberapa kasus, ini dapat berbeda dari $$.

Penjelasan di atas, dijelaskan $BASHPID variabel.

Pertanyaan: kasus yang mana?

Jawaban yang Diterima:

Contoh disediakan di BASHPID deskripsi halaman manual 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.

Berikut adalah contoh subkulit yang mengeluarkan isi variabel, bersama dengan $$ dan isi BASHPID di luar subkulit.

$ 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. Grep Dan Ekor -f?

  2. Apa itu Podman dan Apa Bedanya dengan Docker?

  3. Dalam bahasa apa Windows, Mac OS X dan Linux ditulis?

  1. Menganalisis kasus yang mendukung dan menentang pengaturan ruang swap pada instans cloud

  2. Apa perbedaan SO_REUSEADDR dan SO_REUSEPORT?

  3. Bagaimana cara mengekspor dan mengembalikan pengaturan iptables saya?

  1. Pemecahan Masalah Jaringan Linux Dan Debugging?

  2. Potong / Grep Dan Df -h?

  3. Mengapa Disarankan Membuat Grup Dan Pengguna Untuk Beberapa Aplikasi?