BASH. Как получить PID запускаемого процесса, чтобы его потом убить?
переменная $$ - текущий PID
переменная $! - PID последнего дочернего процесса.

echo "$$" > file.pid

Для других программ
./run_other_program &
echo $!>other_program.pid
В Bash существует переменная $!, в которой хранится pid последнего процесса запущенного в фоновом режиме.

Например:

#!/bin/bash

# Запускаем дочерний процесс в фоновом режиме
my_app &

# Сохраняем в переменной APP_PID его pid, так как в будущем переменная $! может перезаписываться
APP_PID=$!

# Делаем что-то ещё…
…

# Убиваем процесс
kill $APP_PID