0
擊等待信號以結束bash腳本不會開始與後執行命令化背景
邏輯:bash腳本的
- 起動執行必須在回地面開始a.php只會和將stdout 日誌文件或/ dev /上a.php只會成功執行空
- B.php
- 誤差與a.php只會錯誤執行B.php作爲參數
但是,慶典開始a.php只會等待...
#ps -aux
root 27647 0.0 0.0 13336 652 pts/0 S+ 11:36 0:00 /bin/bash /var/www/scripts/bgluncher.sh -c php /var/scripts/A.php -l /var/log/A.log -p B.php
root 27648 0.7 0.2 332396 87544 pts/0 S+ 11:36 0:02 php /var/scripts/A.php
慶典:
#!/bin/bash
COMM=''
POST_CMD=''
LOG=0
while getopts ":l:c:p:" arg; do
case "${arg}" in
c)
COMM=${OPTARG}
;;
l)
LOG=1
LOG_File=${OPTARG}
;;
p)
POST_CMD=${OPTARG}
;;
esac
done
if [ -z "${COMM}" ]; then
echo `date` ' ERROR: [bgluncher.sh] -c argument is empty ' >> ${LOG_File}
else
if [ ${LOG} -eq 1 ] ; then
${COMM} >> ${LOG_File} && ${POST_CMD} || ${POST_CMD}/error=$2 &
echo $!
else
${COMM} >> /dev/null && ${POST_CMD} || ${POST_CMD}/error=$2 &
echo $!
fi
fi
exit
生存還是毀滅,什麼錯誤我已經取得?
好的! 謝謝! 這是「$?」問題之一 其實PHP腳本等待/ arg1 = val1/arg2 = val2。 但bash仍在等待結束A.php並且不要在後臺發送它 – Debster