Как запустить веб-страницу в фоновом режиме?

Я так понимаю, вам нужны системные / библиотечные вызовы, которые выполняются из определенной программы, а не из всех.

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

Чтобы сохранить все вызовы, вы можете перенаправить вывод strace в файл:

strace your_executable 2> my_log_file

, который закроется при выходе из программы. Затем вы можете просматривать / искать файл в любом текстовом средстве просмотра / редакторе. Дополнительную информацию можно получить из man strace или, например, из. linux.die.net/man/1/strace . На этой странице показаны некоторые интересные способы использования strace .

Для полноты : Стивен Харрис предложил ниже:

FWIW, strace -o log_file -f your_executable может быть лучше; флаг -o заставляет strace отправлять туда выходные данные, а -ff означает, что если программа вызывает fork (), то этот дочерний процесс также выполняется. app -ff может быть лучше, поэтому данные каждого дочернего процесса находятся в собственном файле журнала. strace показывает системные вызовы; ltrace может отображать вызовов библиотеки.

И даже больше от Марка Плотника:

Да, команда ltrace -c -S ... это то, что нужно использовать для отображения количества библиотечных и системных вызовов .

2
12.04.2017, 03:07
2 ответа

Предположительно, страница была разработана таким образом, что агент пользователя не обязательно должен быть браузером. Если это так, вы можете просто использовать команду curl для получения страницы.

Если вы запускаете его как задание cron, вы не хотите, чтобы команда выводила какие-либо данные. Для этого используйте опцию --silent для команды curl и отбрасывайте HTTP-ответ, перенаправляя вывод в /dev/null. Например, добавьте следующее задание cron для получения страницы каждые 10 минут:

*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null

Если вы хотите быть более эффективным, вы можете разработать свою веб-страницу так, чтобы она отвечала на HTTP HEAD запрос, а также GET запросы. Таким образом, вы можете использовать curl -I, чтобы между сервером и клиентом передавались только HTTP-заголовки.

2
27.01.2020, 21:56
  1. Выберите язык программирования - Ruby, Python, Java или C #
  2. Напишите экземпляр selenium webdriver, например driver = Selenium :: WebDriver.for: firefox
  3. Напишите команду для посещения URL-адреса, например (Ruby) driver.get "http://www.google.com"
  4. Подумайте, будет ли прямой GET лучше, чем использование браузера

Подробнее на http: // www. seleniumhq.org/docs/03_webdriver.jsp#setting-up-a-selenium-webdriver-project

1
27.01.2020, 21:56

Теги

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