Я нащупываю свой путь с этим, как новичок со всеми вещами Linux, поэтому, пожалуйста, будьте терпеливы :)
Я хотел бы вывести идентификатор процесса программы в файл. Из моих чтений это обычно достигается специальной переменной pling, которую поддерживает linux:
make_something_run.sh &
echo $! > /var/run/someting.pid
однако, когда я пытаюсь применить это в моем скрипте запуска для red5, он успешно создает файл pid, но в нем нет идентификатора. Это конкретный скрипт:
start)
echo -n "Starting Red5"
echo -n " "
cd $RED5_HOME
su -s /bin/bash -c "$RED5_HOME/$RED5_PROG.sh &" $RED5_USER
echo "$RED5_HOME/$RED5_PROG.sh &"
## su -s /bin/bash -c "$RED5_HOME/$RED5_PROG.sh > start.log &" $RED5_USER
echo $! > /var/run/red5.pid
wait $!
sleep 2
;;
Я пробовал с и без wait $!
(который, я полагаю, ждет запуска процесса перед записью файла?) без успеха. Мои единственные другие мысли - сделать что-то необычное с помощью grep и ps aux, чтобы извлечь число, хотя я не знаю, будет ли это надежным подходом.