Получить ID процесса (PID) скрипта Bash

В некоторых случаях может понадобится узнать ID процесса запущенного Bash скрипта, например создать уникальный PID файл или исключить процесс Bash скрипта при проверке списка процессов.

Получить ID процесса (PID) скрипта Bash

В Bash PID скрипта хранится в переменной $$, доступной только для чтения. Пример:

#!/bin/bash
echo "PID: $$"

Вывод скрипта:

PID: 662818

Помимо $$, bash экспортирует несколько других переменных, доступных только для чтения. Например, PPID хранит идентификатор родительского процесса (т. е. основной оболочки). UID идентификатор текущего пользователя, выполняющего скрипт.

#!/bin/bash
echo "PID: $$"
echo "PPID: $PPID"
echo "UID: $UID"

Данный скрипт выведет следующую информацию

PID: 663504
PPID: 661675
UID: 1014

В примерах выше PID будет меняться каждый раз при вызове скрипта, при этом PPID будет оставаться не именным.

Добавить комментарий