Что такое неинтерактивная программа?
man
страница для wget
говорит
NAME
Wget - The non-interactive network downloader.
DESCRIPTION
Wget is non-interactive, meaning that it can work in the background,
while the user is not logged on. This allows you to start a retrieval
and disconnect from the system, letting Wget finish the work. By
contrast, most of the Web browsers require constant user's presence,
which can be a great hindrance when transferring a lot of data.
wget
это пример неинтерактивной программы, которую я знаю. Теперь мой вопрос
- Как может
wget
использовать без входа пользователя? - Как работают неинтерактивные программы?
2 ответа
Как использовать wget без входа пользователя?
Включив команду wget в демон / службу или программу, в которой вы, как пользователь, не запускаете загрузку.
Как работают неинтерактивные программы?
Когда вы создаете демона и активируете этого демона, он может продолжать проверять сервер и запрашивать загрузку. Если серверы не работают, неинтерактивная программа продолжит работу, когда сервер вернется в прежнее состояние, без необходимости действий пользователя.
Например, обновление Ubuntu можно выполнять без каких-либо действий со стороны пользователя и даже без входа в систему.
Для меня самый простой способ запуска, когда вы не вошли в систему, это включить строку в ваш файл crontab:
# m h dom mon dow command
*/30 * * * * test -x /home/koju/bin/yourscript && /home/koju/bin/yourscript
Тест там, чтобы не иметь cron
пожаловаться по электронной почте, когда ваш сценарий не может быть найден. Для формата первых полей посмотрите на man 5 crontab
,
От yourscript
Вы вызываете wget, так как он неинтерактивен, он не побуждает вас взаимодействовать, запрашивая ввод. Пока параметры командной строки wget
Если вы получите необходимую информацию, вышеуказанные настройки будут выполняться каждые 30 минут.
Конечно, вы должны проверить yourscript
запустив его вручную, прежде чем совершать его на регулярной основе. Вы можете обнаружить, что wget недостаточно мощен, чтобы делать то, что вы хотите, особенно на веб-страницах, где требуется взаимодействие с пользователем выше базового имени входа.