Мне просто интересно (так как у меня нет моей платформы Unix для тестирования), если я выполнил много командную строку через shell_exec()
на PHP, я уже безопасен, чтобы закрыть браузер, не дожидаясь его завершения?
Потому что, насколько я знаю, wget
продолжит скачивание файла (поэтому это выгоднее, чем cURL для нестабильной и медленной сети).
На данный момент я очень обеспокоен тем, что мои загрузки будут прерваны, и перекрестная проверка каждого файла, был ли он завершен или нет, вызовет дополнительную работу.
Посмотрите на эту многострочную команду, которую генерирует мой PHP: на данный момент она ожидает завершения загрузки
wget "hxxp:// - 01 [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 01 Preview [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 02 [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 02 Preview [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 03 [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 03 Preview [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 04 [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1 && wget "hxxp:// - 04 Preview [480p][TSR][AKS].mkv" --user=root --password=pw --directory-prefix="download here" -nc 2>&1
затем echo
вывод через:
$output = shell_exec($exec);
echo $exec.'<br /><pre>'.$output.'</pre>';`
Я хочу отбросить 2 строки выше, если я знаю, что многострочная команда будет выполняться в фоновом режиме, даже если я закрою PHP-скрипт.
Надеюсь, что кто-то может дать свое понимание или предложение.
Спасибо!
Это так же просто, как добавить &
до конца вашей командной строки, чтобы запустить wget
в фоновом режиме, и не иметь PHP ждать команду для выхода. Тем не менее, вы не сможете получить выходные данные команды, поскольку она может все еще работать после завершения сценария.
Других решений пока нет …