Я должен предположить, что Вы говорите о bash
или некоторая другая усовершенствованная оболочка, потому что оболочка posix не имеет замены процесса.
bash
отчеты страницы руководства:
Замена процесса
Замена процесса поддерживается в системах, которые поддерживают именованные каналы (FIFOs) или/dev/fd метод именования открытых файлов. Это принимает форму <(список) или> (список). Список процессов выполняется с его вводом или выводом, подключенным к FIFO или некоторому файлу в/dev/fd. Название этого файла передается как аргумент текущей команде как результат расширения. Если> (список) форма будет использоваться, то писание в файл обеспечит вход для списка. Если <(список) форма используется, файл передал, поскольку аргумент должен быть считан для получения вывода списка.
Когда доступно, замена процесса выполняется одновременно с параметром и переменным расширением, заменой команды и арифметическим расширением.
Другими словами, и с практической точки зрения, можно использовать выражение как следующее
<(commands)
как имя файла для других команд, требующих файла в качестве параметра. Или можно использовать перенаправление для такого файла:
while read line; do something; done < <(commands)
Возвращаясь к Вашему вопросу, мне кажется, что у замены процесса и каналов есть не очень общий.
Если Вы хотите передать по каналу в последовательности вывод нескольких команд, можно использовать одну из следующих форм:
(command1; command2) | command3
{ command1; command2; } | command3
но можно также использовать перенаправление на замене процесса
command3 < <(command1; command2)
наконец, если command3
принимает параметр файла (в замене stdin)
command3 <(command1; command2)
Согласно Сбросу dnsmasq кэш DNS:
dnsmasq является легкий DNS, TFTP и сервер DHCP. Это предназначается для обеспечения связанного DNS и сервиса DHCP к LAN. Dnsmasq принимает запросы DNS и или отвечает на них от маленького, локального, кэша или вперед их к реальному, рекурсивному, серверу DNS. Это программное обеспечение также установлено много дешевых маршрутизаторов для кэширования запросов DNS. Просто перезапуск для спугивания кэша DNS:
# stopservice dnsmasq
# startservice dnsmasq
С тех пор нет никаких init сценариев на DD-WRT, я предполагаю, что это было бы самым легким способом перезапустить dnsmasq:
Уничтожьте dnsmasq:
root@ddwrt6:~# killall dnsmasq
Запустите dnsmasq:
root@ddwrt6:~# dnsmasq --conf-file=/tmp/dnsmasq.conf
Я всегда использовал:
killall -1 dnsmasq
который хорошо работал для меня. Я выполняю некоторые более новые версии DD-WRT и
stopservice dnsmasq
startservice dnsmasq
также, казалось, работал без ошибки или нуждающийся sudo...
killall -1 dnsmasq
Отправьте Сигнал HUP, чтобы сказать, что он сбрасывает кэш перечитанный его конфигурация, таким образом запускающаяся с чистого листа.
dnsmasq
может не очистить кэш на перезапуске. Хотя я поместил бы # killall -HUP dnsmasq
вместо # killall -1 dnsmasq
потому что легче помнить/понимать.
– James Haigh
21.04.2014, 00:51
Перезапустите службу dnsmasq либо из пользовательского интерфейса.
Или из интерфейса командной строки через
/init.d/dnsmasq restart
stopservice dnsmasq
сопровождаемыйstartservice dnsmasq
? Посмотрите barrymorrison.com/tag/dd-wrt – Justin Ethier 07.05.2012, 05:08