Процес оболонки полягає в $$тому, що це особливий параметр
У Linux файлова система proc (5) надає багато інформації про процеси. Можливо,
pgrep (1) (який доступ /proc) також може допомогти.
Тож спробуйте cat /proc/$$/statusотримати статус процесу оболонки.
Отже, його батьківський ідентифікатор процесу можна отримати, наприклад
parpid=$(awk '/PPid:/{print $2}' /proc/$$/status)
Потім використовуйте $parpid у своєму сценарії посилання на батьківський процес pid (батьківський елемент оболонки).
Але я не думаю, що це вам потрібно!
Прочитайте посібник із Bash (або з обережністю розширений посібник із сценаріїв bash , який містить помилки) та вдосконалене програмування Linux .
Зверніть увагу, що деякі процеси демона сервера (які, як правило, повинні бути унікальними) явно записують свій pid /var/run, наприклад, sshdдемон сервера записує свій pid у текстовий файл /var/run/sshd.pid). Можливо, ви захочете додати таку функцію у свої власні серверні програми (закодовані на C, C ++, Ocaml, Go, Rust або іншій компільованій мові).