Назад | Перейти на главную страницу

Запуск iaxmodem и faxmodem с выскочкой

Как я могу использовать 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