У меня есть бездисплейный медиасервер с помощью mpd работающий на хинду. Mpd настроен для запуска при начальной загрузке (и у меня нет емкостно-резистивных сценариев, выполняющих параллельно ни одного), но к сожалению mpd не запустится, если он не может связать с интерфейсом. Я попытался дать свою беспроводную LAN, которую не будет запускать статический IP-адрес, но иногда mpd, потому что плата беспроводной локальной сети не связалась с точкой доступа (я использую wpa_supplicant).
Теперь, когда ssh запускается, довольно радо ожидать интерфейса для подъема. Но даже с небольшим рытьем я не могу узнать вполне, как оно делает это.
Мой ужасный взлом был бы для mpd сценария только для ожидания в течение "достаточного" времени платы беспроводной локальной сети для соединения, но это не будет работать при всех обстоятельствах.
Кто-либо получил какие-либо указатели?
Связанные с NB: вопросы, которые не отвечают на мой вопрос (но могло бы быть полезно для других, здесь):
run-a-script-when-connected-to-a-wireless-network-in-linux и linux-how-to-start-skype-or-other-program-only-when-im-online
В хинду сценариях запуска (/etc/init.d/mpd в Вашем примере) должен быть a
depend() { ... }
разделите около вершины. Это - то, как init заканчивает тем, что определил порядок на запуск. Необходимо поместить требование для сети для окончания прежде, чем запустить mpd там. Я думаю, что строка
need net
Проверьте для наблюдения то, что находится в зависеть разделе в/etc/init.d/sshd. Та же строка от этого должна, вероятно, работать, если Вы добавляете, что она к mpd запускает сценарий.
От /etc/wpa_supplicant/ifupdown.sh
:
# This file is executed by ifupdown in pre-up, post-up, pre-down and
# post-down phases of network interface configuration. It allows
# ifup(8), and ifdown(8) to manage wpa_supplicant(8) and wpa_cli(8)
# processes running in daemon mode.
Вокруг о строке 144 (на моей копии) сценария, который это, кажется, делает, это - пост операции - необходимо смочь поместить запуск mpd сюда, если кто-то не может думать о лучшем месте.
Один из ответов в первой ссылке, которую Вы дали, предлагает вставить сценарий /etc/network/if-up.d
который является тем, что я предложил бы Вам. Вы попробовали это?