LAMP ボックスで、PHP の exec 関数を介して SCP コピー関数をループで呼び出して、複数の画像をリモート サーバーにコピーしています。
exec("scp ".$this->GetUploadPath(true)." ".$currentServer->Scp.":".$this->GetServerPath($currentServer, true));
結果: 正常に動作しますが、PHP スクリプトが完了するまでに数秒かかります。
ただし、SCP ジョブが終了するまで PHP スクリプトを待機させたくないので、次のいずれかを試しました。
exec("nohup scp ".$this->GetUploadPath(true)." ".$currentServer->Scp.":".$this->GetServerPath($currentServer, true) . " 1>/dev/null/ 2>&1 &");
結果: PHP スクリプトははるかに高速ですが、SCP は完成していません。イメージはリモート サーバーにコピーされません。
exec("nohup scp ".$this->GetUploadPath(true)." ".$currentServer->Scp.":".$this->GetServerPath($currentServer, true) . " &");
結果: 画像はコピーされますが、php スクリプトの実行時間は改善されません。呼び出しを「バックグラウンド」にしましたが、php スクリプトは SCP ルーチンが終了するのをまだ待っていると思います。
PHP スクリプトは待機しないが、SCP プロセスは終了するという実装方法はありますか?
前もって感謝します!