Для примера я написал скрипт test.sh, где ищем pid для запускаемой команды sleep в место нее может быть запущена любая программа.
$ cat test.sh
#!/bin/sh #в переменной $$ находится pid этого скрипта echo "pid скрипта = "$$ #Для примера запустим команду sleep на 5 мин. в переменной $! будет pid запущенной нами команды sleep 300 & pid=$! echo "pid="$pid ps waux | grep $pid | grep -v grep #или так, в этом примере sleep будет 10 мин для отличия sleep 600 1>/dev/null 2>&1 & pid=$! echo "pid="$pid ps waux | grep $pid | grep -v grep
Запустим скрипт test.sh:
$ sh test.sh
pid скрипта = 9959 pid=9960 rrv 9960 0.0 0.0 9728 828 pts/2 S+ 20:58 0:00 sleep 300 pid=9964 rrv 9964 0.0 0.0 9728 824 pts/2 S+ 20:58 0:00 sleep 600