Когда именованный канал создается через mkfifo (или однако еще можно сделать это), он создает канал "файл", который остается на месте, пока он не удален (или, в некоторых случаях, до перезагрузок машины, если Вы забываете удалять его). Можно создать собственный именованный канал с mkfifo просто, поскольку требуется очень немного аргументов, как так:
host # mkfifo -m 777 /tmp/corncob
Это - все, что требуется для создания именованного канала/tmp/corncob. Флаг-m, который используется для установки полномочий, не необходим. Обычно, если Вы не включаете его, набор полномочий по умолчанию для нового именованного канала - то, чем было бы значение по умолчанию для Вашей системы. Как другое примечание стороны, можно также передать флаг-m и установить альфа-полномочия, а не восьмеричный, как:
host # mkfifo -m a=rwx /tmp/corncob
создать ту же самую вещь. Можно удалить именованный канал точно так же, как Вы удаляете файл. комната, и это пошло.
Одна вещь, которую необходимо отметить об именованных каналах, состоит в том, что они обычно (насколько я видел) только могут полностью передать один поток ввода/вывода через себя за один раз. То есть, если у Вас будет один вход отправки процесса к именованному каналу и двум процессам, читающим из него, то только один из процессов считывания получит вывод. Нужно отметить, также, что, если такая ситуация должна была существовать, однажды исходный процесс, который получал выходные выходы, другой процесс начал бы получать вывод от именованного канала (если бы это все еще пыталось читать из него). Это было действительно длинным предложением, или я просто ввожу быстро?;)
Пример того, что я имею в виду ниже:
host-term1 # while :;do echo a b c d e >/tmp/corncob;sleep 15;done
host-term2 # tail -f /tmp/corncob
a b c d e
a b c d e
a b c d e
a b c d e
a b c d e
a b c d e
a b c d e
a b c d e
host-term3 # tail -f /tmp/corncob
host-term2 # ^C
host-term3 #
^C
a b c d e
a b c d e
a b c d e
a b c d e
cd
в /etc/sysconfig/network-scripts
. Там, Вы найдете ifcfg-eth0
и ifcfg-eth1
. Отредактируйте их и установите ONBOOT
значения строки к yes
и no
, соответственно. (Или наоборот, если это eth1
Вы скорее подошли на начальной загрузке.)
Если необходимо предотвратить ядро от ровной попытки коснуться оборудования Ethernet, можно загнать eth1
строка в /etc/modprobe.conf
. Что-то вроде этого:
#alias eth1 e1000
e1000
бит будет названием драйвера; это варьируется в зависимости от аппаратных средств по машине. Вы найдете строку без #
в запуске; добавьте его.
Лучшее решение, просто касание этих аппаратных средств является проблемой, состоит в том, чтобы удалить доступ к нему полностью на hardware/VM уровне. Если бы это - VM, Вы удалили бы его из конфигурации VM. Если бы это - реальные аппаратные средства, Вы отключили бы второй интерфейс Ethernet во встроенном микропрограммном обеспечении машины. (BIOS, EFI...)
Замена 0.0.0.0 с Вашим eth0 IP-адресом в/etc/ssh/sshd_config на Слушать строке будет препятствовать тому, чтобы eth1 использовался ssh.
kudzu
сервис также, если это все еще включено. Вы не хотитеeth1
быть автоматически обнаруженным снова. – Warren Young 09.07.2012, 19:37