Как я периодически выполняю команду с очень коротким интервалом и получаю возврат?

Для тестирования vhosts Вы могли бы установить сервер Apache как прокси в Firefox. Имя, которое Вы ввели, будет передано Apache. Это повредится, просматривание других сайтов таким образом задержало прокси, когда Вы сделаны.

12
13.02.2016, 02:50
4 ответа
(
  while true
  do
    your-command-here
    sleep 5
  done
) &
disown
10
27.01.2020, 19:54
  • 1
    , что, отрицает для? что, если я работаю без него? –  Hans 19.01.2011, 17:09
  • 2
    @Marcel, disown удаляет последнее задание из таблицы задания оболочки, делая это видом демона, как Вы спрошенный. Это не настоящий демон, потому что это все еще присоединено к терминалу и находится в той же группе процесса, но это будет продолжать бегать за Вами, закрывают оболочку. –  Juliano 19.01.2011, 17:14
  • 3
    , хорошо большой, который работал бы :D Только для любопытства, как я "сделал" бы демона? –  Hans 19.01.2011, 17:24
  • 4
    @Marcel простой путь должен позвонить демону (3) от C или другого языка с библиотечным доступом (не из сценария оболочки). Это - твердый путь. –  Juliano 19.01.2011, 17:35

Почему Вы думаете, что 'часы' не будут работать?

$ cat periodic.sh
#!/bin/bash
echo $(date)
$ chmod +x periodic.sh

$ watch -n 5 ./periodic.sh
14
27.01.2020, 19:54
  • 1
    , что, если я выхожу из системы? сценарий должен продолжить работать. –  Hans 19.01.2011, 17:13
  • 2
    Это остановится, но можно использовать nohup watch -n 5 ./periodic.sh > periodic.log & и сохраните вывод. –  naufraghi 28.04.2011, 13:07
  • 3
    для передачи по каналу использования '' заключение в кавычки, потому что th "команда дан "sh-c", который означает, что Вы, возможно, должны использовать дополнительное заключение в кавычки для получения желаемого эффекта" –  andrej 22.03.2013, 12:00

Возможно, с nohup? Это разработано для разрешения прогону задания после того, как оболочка будет закрыта.

Можно также использовать экраны.

2
27.01.2020, 19:54

В вашем случае подходит команда watch, я бы использовал терминальный мультиплексор (, например. tmux, screen и т. д. ), а затем запустите команду, используя

watch -n 5./script.sh

В этом случае, даже если вы закроете терминал или ssh-соединение с машиной, скрипт все равно будет работать.

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

1
27.01.2020, 19:54

Теги

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