pobierz pid w powłoce (bash)
Mam problem z Bash i nie wiem dlaczego.
Pod powłoką wpisuję:
echo $ ## print 2433
(echo $) ## also print 2433
(./getpid) ## print 2602
„getpid” to program C, który pobiera bieżący pid, taki jak:
int main() {
printf("%d", (int)getpid());
return 0;
}
To, co mnie niepokoi, to:
Myślę, że „(polecenie)” jest procesem podrzędnym (mam rację?) I myślę, że jego pid powinien być inny w przypadku pid nadrzędnego, ale są takie same, dlaczego ...kiedy używam mojego programu do pokazywania pid między nawiasami, pid, który pokazuje, jest inny, czy to prawda?to jest „$” coś jak makro?Możesz mi pomóc?