Можно ли вместо запуска команды в терминале запустить ее «в» строке меню в фоновом режиме?
Чтобы держать брандмауэр открытым в сети, в которой я нахожусь, я использую curl
ping URL каждые 5 минут, используяwatch
в Терминале, но это означает, что мне нужно держать Терминал открытым все время. Возможно ли «отправить» это в строку меню?
решение1
Нелегко. Создатьменулет- Я полагаю, что именно это вы и имеете в виду, когда говорите о запуске в строке меню - вам нужно будет написатькакой-то ваш собственный код. В зависимости от ваших способностей к программированию и того, сколько усилий вы готовы приложить, это может быть решением, а может и нет.
В качестве альтернативы вы можете свернуть окно терминала в док. В зависимости от того, насколько видимым вы хотите видеть вывод, вы также можете запустить команду в фоновом режиме с помощьюэкранили иначе. Если вы ищете очевидное изменение, вы можете использовать скрипт, который распознает это и использует что-то вродерычатьуведомлятьрассказать вам об этом.
решение2
Не ответ на ваш вопрос, но, возможно, на вашу проблему:
Используйте screen
. Таким образом вы можете выйти из Терминала, а ваши процессы продолжат работать.
Ctrl-A Ctrl-C
(создать) создает новые «экраны» («вкладки»/«окна»), Ctrl-A Crtl-N
(следующий) и Ctrl-A Ctrl-P
(предыдущий) циклически переключают их. Ctrl-A Ctrl-D
(отсоединить) выходит из экрана.
screen -r
для повторного подключения к предыдущему сеансу экрана и проверки вывода.
решение3
Я не совсем понимаю, зачем это нужно в строке меню?
Ниже приведен скрипт, который будет зацикливаться и нажимать на какой-то curl url в цикле. Вам нужно запустить его в терминале, но после этого можете закрыть терминал.
#!/bin/bash
URL=http://some.site/
LOOPTIME=280 # just under 5 minutes
(while true;
do curl -I -s -o /dev/null $URL > /dev/null;
done) &
disown
Я включил -I, чтобы просто использовать HEAD, чтобы сэкономить и вашу, и серверную пропускную способность.