我只是想知道(因为我没有我的unix平台来测试)如果我通过PHP上的shell_exec()
执行多命令行,我是否可以安全关闭浏览器而无需等待它完成?
因为据我所知,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>';`
我愿意删除上面两行,只要我知道即使我关闭PHP脚本,多行命令也会在后台执行。
希望有人可以提供他们的见解或建议。
谢谢!
答案 0 :(得分:1)
就像在命令字符串的末尾添加&
一样简单,在后台运行wget
,而不是让PHP等待命令退出。但是,您无法从命令中获取输出,因为它可能在脚本完成时仍在运行。