Я создал пример init-скрипта, основываясь на коде вашего вопроса, и определил, что вам нужно изменить одну строку, переместив двойную кавычку из конца в середину:
daemon --user $runas "$exec" -d $config >/dev/null 2>&1
Функция daemon()
в /etc/init.d/functions
смотрит на первый непараметр, убирает путь к базовому имени программы и использует его для получения файла блокировки ПИД-файла. При (неправильном) цитировании всей строки, PID-файл ошибочно определяется как 2>&1.pid
, о чем свидетельствует ваша ошибка.
Строка кода в том виде, в каком она показана здесь, все равно будет висеть бесконечно, если программа ZNC не будет демонтировать себя и вилку в фоновом режиме. У меня нет ZNC, поэтому я не могу протестировать эту часть, но учитывая, что утилита CentOS daemon не предлагает возможности выполнить задачу в фоновом режиме, я должен надеяться, что это основное требование было выполнено внутри самого ZNC.
] Похоже, я догадался. [
] [] Оказывается, wicd установлен и работает. При загрузке мой /etc/network/interfaces был заряжен, но когда кабель был отключен, wicd занял своё место. Редактирование /etc/wicd/wired-settings для включения моего статического IP выполнило свою задачу.[
] []Это не очень хорошо, что настройка выполняется в двух местах, но я добавил указатель в /etc/network/interfaces, чтобы показать, что это то, что происходит.[
]. Не используйте Разрешить hotplug ETH0
Попробуйте это конфигурацию:
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 8.8.8.8