Как Linux/Unix Bash script знает свой собственный PID?
У меня есть script в Bash, называемый Script.sh, и ему нужно знать свой собственный PID (т.е. мне нужно получить PID внутри Script.sh)
Любая идея, как это сделать?
Ответ 1
Переменная '$$' содержит PID.
Ответ 2
используйте $BASHPID или $$
Для получения дополнительной информации см. manual, включая различия между ними.
Ответ 3
В дополнение к примеру, приведенному в Advanced Bash Scripting Guide, на который ссылается Jefromi, эти примеры показывают как трубы создают подоболочки:
Пример: kill -9 $$ убьет экземпляр оболочки, из которого он вызван.
Ответ 5
Вы можете использовать переменную $$.
Ответ 6
Если процесс является дочерним процессом, а $ BASHPID не задан, можно запросить ppid созданного дочернего процесса запущенного процесса. Это может быть немного некрасиво, но это работает. Пример: