我創建了一個後臺shell來觀察一個文件夾(與inotifywait)並執行一個進程(一個PHP腳本發送信息到其他幾個服務器和更新數據庫,但我不認爲這是相關)在其中創建新文件時。後臺shell腳本自動終止
我的問題是,有些時候腳本實際上終止後,我不明白爲什麼(我重定向到一個文件不填滿緩衝區,即使PHP執行)。
我使用的是Ubuntu 12.04服務器和最新版本的php。
這裏是我的腳本:
#!/bin/sh
#get the script directory
SCRIPT=$(readlink -f "$0")
script_path=$(dirname "$SCRIPT")
for f in `ls "$script_path"/data/`
do
php myscript.php "$script_path"/data/$f &
done
#watch the directory for file creation
inotifywait -q -m --format %w%f -e create "$script_path"/data/ | while read -r line; do
php myscript.php "$line" &
done
最有可能是由於inotifywait被終止 – DevZer0
您能解釋一下如何運行腳本。這是一個cron工作嗎?即使會話斷開或用戶註銷,您是否使用屏幕/ nohup或其他用於運行命令的方法? – hostmaster
我打算創建一個惡魔,但目前我運行它的終端: './myscript.sh&'。我知道cron作業無法運行後臺進程(因爲我已經嘗試過......) – user2515367