> サーバスクリプトは$queryを1s sleepしながらループしてチェック、空で無ければクリアして検索に入り、$responseに書き出す
なんつーかシェル変数(環境変数)をグローバル変数とでも勘違いしてるような書き方だな

サーバースクリプトが$responseに書き出しても
それは他のプロセスからは見えないんだよ