Как сказать, загружается ли файл wget?

Используйте фигурные скобки для него:

ls /opt/somedir/{aa,bb,cc}

Для получения дополнительной информации читайте о расширении фигурной скобки.

4
04.02.2013, 17:50
3 ответа

Можно использовать fuser, или lsof.

fuser foo.zip

Вывод похож так:

$ fuser archlinux-2013.02.01-dual.iso 
/home/chris/archlinux-2013.02.01-dual.iso: 22506
$ awk -F'\0' '{ print $1 }' /proc/22506/cmdline 
wget
1
27.01.2020, 21:00

Измените свой сценарий загрузки, чтобы загрузить файлы на временное имя или каталог, затем переместить результат, когда загрузка будет закончена. Это более устойчиво, чем попытка обнаружить, что wget все еще работает; в частности, если wget будет прерван (например, перезагрузкой), то Вы не рискнете принимать частичный файл за полную загрузку. Кроме того, убедиться протестировать статус возврата wget. Возможности состоят в том, что Ваши поврежденные файлы являются на самом деле усеченными файлами, следующими из прерванной загрузки.

cd incoming &&
wget http://example.com/foo.zip &&
mv foo.zip ..
1
27.01.2020, 21:00

Можно использовать lsof, чтобы проверить, открыт ли файл некоторой программой.

for FILE in /path/to/files/*.zip
    do
        if [ -z "$(lsof $FILE)" ]
            then
                unzip $FILE
        fi
done

или что-то подобное

0
27.01.2020, 21:00

Теги

Похожие вопросы