GNU/Linux >> Linux の 問題 >  >> Linux

$ bashpidと$$は場合によって異なりますか?

「OreillyのBASHポケットガイド」を読んでいます。
次のように書かれています:

現在のBashプロセスのプロセスID。
場合によっては、これは$$とは異なる可能性があります。

上記の説明、$BASHPIDの説明 変数。

質問: どちらの場合ですか?

承認された回答:

例はBASHPIDにあります 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.

これは、変数の内容を$$とともに出力するサブシェルの例です。 およびBASHPIDの内容 サブシェルの外側。

$ 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. Linuxネットワークのトラブルシューティングとデバッグ?

  2. Cut / Grep And Df -h?

  3. Grep And Tail -f?

  1. クラウドインスタンスにスワップスペースを設定する場合と反対する場合の分析

  2. Podmanとは何ですか?Dockerとどのように異なりますか?

  3. ラズベリーパイ4とカーリー

  1. 一部のアプリケーションでグループとユーザーを作成することが推奨されるのはなぜですか?

  2. 一部のポートがNmapによって報告され、他のポートはフィルタリングされないのはなぜですか?

  3. PthreadとVfork?