get pid in shell (bash)
I have problem with Bash, and I don't know why. Under shell, I enter: echo $$ ## print 2433 (echo $$) ## also print 2433 (./getpid) ## print 2602 "getpid" is a C program to get current pid, like: int main() { printf("%d", (int)getpid()); return 0; } What confuses me is that: I think "(command)" is a sub-process (am i right?), and i think its pid should be different with its parent pid, but they are the same, why... when i use my program to show pid between parenthesis, the pid it shows is different, is it right? is '$$' something like macro? Can you help me? $$ is defined to return the process