Você precisa adicionar um eco ao make_something_run.sh & echo $! > /var/run/someting.pid
^
link -
EDIT:
su -s /bin/bash -c "${RED5_HOME}/${RED5_PROG}.sh & echo \$! > /var/run/red5.pid" $RED5_USER
ou
link
Estou atrapalhando o meu caminho com este, como um novato com todas as coisas linux então, por favor, seja paciente:)
Eu gostaria de produzir o ID do processo de um programa para um arquivo. De minhas leituras isso é geralmente alcançado por uma variável especial que o linux mantém:
make_something_run.sh &
echo $! > /var/run/someting.pid
no entanto, quando tento aplicar isso no meu script de inicialização para red5, ele cria o arquivo pid com êxito, mas nenhum ID é encontrado nele. Este é o script específico:
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
;;
Eu tentei com e sem o wait $!
(que eu acredito que o processo inicie antes de gravar o arquivo?) sem sucesso. Meus únicos outros pensamentos são fazer algo extravagante com grep e ps aux para extrair o número, embora eu não tenha idéia se isso seria uma abordagem confiável.
Você precisa adicionar um eco ao make_something_run.sh & echo $! > /var/run/someting.pid
^
link -
EDIT:
su -s /bin/bash -c "${RED5_HOME}/${RED5_PROG}.sh & echo \$! > /var/run/red5.pid" $RED5_USER
ou
link