Starting and stopping the script
The dialup connection is set up using the Point-to-Point Protocol daemon pppd. This uses a program such as chat to talk to the modem and get it to dial the ISP. The pppd mechanism affords us an ideal way to start and stop a script on the respective connection and disconnection of the line. When the connection has been made, the script /etc/ppp/ip-up is invoked and passed a number of connection-related parameters. Similarly /etc/ppp/ip-down is invoked when the connection is closed.
Some implementations of pppd also offer
/etc/ppp/ip-up.local and
/etc/ppp/ip-down.local, which should be used
in place of the ip-up and ip-down
scripts if they exist. These .local versions
are intended to separate out system-specific connection-related
activities from general connection-related activities, in a similar way
to how the rc.local file allows system-specific
startup activities to be defined in the
/etc/rc.d/ Unix System V set of runlevel
directories.
So what we want to do is start HostAlive with
ip-up[.local] and stop it with
ip-down[.local]. What these starter and stopper
scripts might look like is shown in Example 8-4
and Example 8-5. They are simply shell scripts
that share the process ID (PID) of the Jabber script via a temporary
file. The starter starts the Jabber script and writes the PID of that
script to a file. The stopper kills the script using the PID.
#!/bin/sh # Change to working directory cd /jabber/java/ ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access