Bash para chamar o PHP, Aguarde o processo do PHP terminar?

1

Aqui está o meu script

#!/bin/bash
timestamp() {
  date +"%T"
}
pushd 'httpdocs/DIR1/DIR2'; 
file="Lock3.key"
if [ -f "$file" ]
then
    echo "$file found, Session is already in progress" $(date)
else
    echo "$file was not found, Its safe to start the script"  $(date)
    echo "Running Ebay Stock Only Script" $(date)
#Its possible to double check if the script is running by checking memory.
#ps aux | grep "php Cron-Run.php" (Not safe)
php Cron-Run.php > Output.log
echo "Finished Running Script, Lock file is deleted by PHP, Now exiting" $(date)
fi
exit

Isso é executado a partir de um cron job e funciona. Mas tudo que eu quero é o último echo para ser executado apenas quando o processo do PHP terminar (ele será executado por uma hora) e, quando o email chegar, seria bom ver a saída do último echo com o tempo associado.

No momento, o echo é executado dois segundos após o script PHP ser chamado.

    
por Dave Hamilton 02.03.2016 / 16:10

1 resposta

0

Consegui pausar / esperar que o processo fosse concluído usando a função de espera.

um exemplo do segmento de trabalho:

#!/bin/bash
timestamp() {
  date +"%T"
}
pushd 'httpdocs/DIR1/DIR2'; 
file="Lock3.key"
if [ -f "$file" ]
then
    echo "$file found, Session is already in progress" $(date)
else
    echo "$file was not found, Its safe to start the script"  $(date)
    echo "Running Ebay Stock Only Script" $(date)
#Its possible to double check if the script is running by checking memory.
#ps aux | grep "php Cron-Run.php" (Not safe)
php Cron-Run.php > Output.log
wait
echo "Finished Running Script, Lock file is deleted by PHP, Now exiting" $(date)
fi
exit
    
por 02.03.2016 / 18:22