Bash に問題がありますが、その理由がわかりません。
シェルの下で、次のように入力します。
echo $$ ## print 2433
(echo $$) ## also print 2433
(./getpid) ## print 2602
「getpid」は、次のような現在の pid を取得する C プログラムです。
int main() { printf("%d", (int)getpid()); return 0; }
私を混乱させるのは、次のことです。
- 「(コマンド)」はサブプロセスだと思います(そうですか?)、そのpidは親pidとは異なるはずですが、同じです。なぜ...
- プログラムを使用して括弧の間に pid を表示すると、表示される pid が異なります。正しいですか?
- 「$$」はマクロのようなものですか?
手伝って頂けますか?