У меня проблема с Bash, и я не знаю, почему.
Под оболочкой я ввожу:
echo $$ ## print 2433
(echo $$) ## also print 2433
(./getpid) ## print 2602
"getpid" - это программа для получения текущего pid, например:
int main() { printf("%d", (int)getpid()); return 0; }
Меня смущает то, что:
- Я думаю, что "(команда)" является подпроцессом (я прав?), и я думаю, что его pid должен отличаться от родительского pid, но они одинаковы, почему...
- Когда я использую свою программу для отображения pid между скобками, pid, который он показывает, отличается, правильно?
- "$$" что-то вроде макроса?
Вы можете мне помочь?