Мягкое завершение дочернего процесса при завершении работы systemctl

Чтобы wgetмог захватить целую кучу файлов, он должен иметь возможность найти их в указанном вами каталоге. Другими словами, когда вы переходите к https://www.ictsd.org/sites/default/files/review/в веб-браузере, вы должны увидеть там ссылку на pdf. Если ссылку можно увидеть в вашем браузере, то ее также можно увидеть по wget.

Когда я перемещаюсь по https://www.ictsd.org/sites/default/files/review/в Firefox, происходит тайм-аут и появляется сообщение об ошибке:

The page isn’t redirecting properly

Поскольку при переходе к каталогу не отображается индекс доступных файлов, wgetне может увидеть то, что вы ожидаете увидеть.

Принимая во внимание, что когда я помещаю полный путь к конкретному PDF-файлу в адрес, Firefox находит его, что согласуется с поведением wget.

Можно предположить, что владелец веб-сайта сделал это намеренно, чтобы предотвратить автоматическое извлечение всех файлов одновременно. Если, с другой стороны, вы считаете, что это просто ошибка веб-службы, и они сказали, что файлы, которые вам нужны, должны быть видны из содержащего каталога, вы можете связаться с ними и сообщить им о проблеме..

Или, если есть какой-то другой индекс, ссылающийся на все pdf-файлы, вы могли бы возможно использовать его.

Если вы заранее знаете имена конкретных PDF-файлов, которые вам нужны, вы можете поместить все ссылки в файл и wgetпрочитать из него вот так:

wget -i links.txt
0
03.02.2021, 19:19
1 ответ

Так что я остановился на этом, и я счастлив:

#!/bin/bash

script_term()
{
    echo $0 SIGTERM
}

wait_for_child()
{
    term_child_pid=$!
    wait ${term_child_pid} 2>/dev/null
    trap - TERM INT
    wait ${term_child_pid} 2>/dev/null
}

trap 'script_term' TERM INT
node index.js
wait_for_child

Он ожидает должным образом во всех случаях, которые меня интересуют, хотя он не ставит SIGTERM дочернему элементу, когда родительский bash имеет SIGTERM.

0
18.03.2021, 22:32

Теги

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