Как я могу использовать Upstart для запуска iaxmodem
и faxgetty
когда у меня несколько модемов? В Centos 6.4 есть приятное предупреждение, перечисленное ниже, которое побуждает меня поверить в стандарт inittab
линии работать не будут.
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
где я обычно кладу
IAX:2345:respawn:/path/to/iaxmodem ttyIAX
Используйте задачу, которая запускается при изменении уровня запуска, чтобы запустить задание для каждого IAXModem
вы хотите начать. Затем используйте задачу, чтобы начать faxgetty
для каждого начатого iaxmodem
работа.
IE:
init 3 -> start-iaxmodem ---> iaxmodem(ttyIAX0) -> start-faxgetty(ttyIAX0) -> faxgetty(ttyIAX0)
\-> iaxmodem(ttyIAX1) -> start-faxgetty(ttyIAX1) -> faxgetty(ttyIAX1)
/etc/init/start-iaxmodems.conf
:
# This service starts the configured number of gettys.
start on stopped rc RUNLEVEL=[2345]
task
script
for ttyIAX in /etc/iaxmodem/* ; do
start iaxmodem TTY=`basename $ttyIAX`
done
end script
/etc/init/iaxmodem.conf
:
# This service maintains an iaxmodem on the sepcified device.
stop on runlevel [016]
respawn
instance $TTY
exec /usr/sbin/iaxmodem $TTY
/etc/init/start-faxgettys.conf
:
# This service starts the configured number of faxgettys.
start on started iaxmodem
# this will run once per triggering iaxmodem instance
instance $INSTANCE
task
script
# give it time to at least create the device
/bin/sleep 1s
start faxgetty TTY=$INSTANCE
end script
/etc/init/faxgetty.conf
:
# This service maintains a faxgetty on the sepcified device.
# only stop when the stopping iaxmodem is this TTY
stop on stopping iaxmodem INSTANCE=$TTY
respawn
instance $TTY
exec /usr/sbin/faxgetty $TTY