이것은 내 bash 스크립트입니다.
#!/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
이것은 cron 작업에서 실행되어 작동했습니다. 하지만 내가 원하는 것은 마지막 프로세스가 PHP 프로세스가 완료될 때만 실행되고(한 시간 동안 실행됨) 이메일이 도착하면 관련 시간과 함께 echo
마지막 프로세스의 출력을 보는 것이 좋을 것입니다 .echo
현재 echo
PHP 스크립트는 호출 후 2초 후에 실행됩니다.
답변1
대기 기능을 사용하여 프로세스가 완료될 때까지 일시 중지/기다릴 수 있습니다.
작업 섹션의 예:
#!/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