Ничего общего с ядром, просто $$
расширяется до идентификатора процесса оболочки, см., Например, Руководство Баша .
($$) заменяется на идентификатор процесса оболочки. В подоболочке () он расширяется до идентификатора процесса вызывающей оболочки, а не до подоболочки.
Вместо знака доллара используйте обратную косую черту или используйте одинарные кавычки, чтобы предотвратить раскрытие:
$ echo "$$" "\$$" '$$'
29058 $$ $$