Bug 17762 - Не отрабатывает /etc/ppp/ip-down
Summary: Не отрабатывает /etc/ppp/ip-down
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rp-pppoe-client (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-01 12:26 MSK by Дмитрий
Modified: 2011-03-28 21:47 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Дмитрий 2008-11-01 12:26:50 MSK
опускаю pppoe и должены удалиться правила iptables и маршруты скриптом из /etc/ppp/ip-down.d. это не работает

В скрипте /usr/sbin/pppoe-stop нашёл строки:
# Kill pppd, which should in turn kill pppoe
    if [ -r "$PPPD_PIDFILE" ] ; then
    PPPD_PID=`cat "$PPPD_PIDFILE"`
    $LOGGER -p daemon.notice "Killing pppd"
    echo "Killing pppd ($PPPD_PID)"
    kill $PPPD_PID > /dev/null 2>&1 || exit 1
    fi

Тут всё понятно, вопросов нет..

Но зачем строки:
# Kill pppd again, in case it's still hanging around
    if [ -r "$PPPD_PIDFILE" ] ; then
    PPPD_PID=`cat "$PPPD_PIDFILE"`
    kill -9 $PPPD_PID > /dev/null 2>&1 || exit 1
    fi

Эти строки по замыслу разработчиков добивают процесс если он по предыдущим строкам не завершился. Они гарантированно опустят канал.

Короче говоря, pppd никогда не успевает самостоятельно завершиться, он принудительно убивается. Я эти строки заккоментировал. Теперь скрипты ip-down выполняются и pppd останавливается. Зависаний процесса не наблюдал.

Если по какой-то причине процесс не остановится, то stop отработает со статусом success и последующий start тоже. Нужно чтобы start ругался на присутствие процесса.
Comment 1 Mikhail Efremov 2011-03-28 21:47:45 MSK
* Mon Mar 28 2011 Mikhail Efremov <sem@altlinux> 3.10-alt2
- gui: Fix manual page showing (by Boris Revyakin).
- pppoe-stop: Give pppd time for clean exit (closes: #17762).
- Fix Group.
- Fix License.
- gui: Replace Debian menu entry with desktop file
    (thanks Igor Vlasenko).
- init script: fix exit status (closes: #9504).
- own /usr/share/doc/tkpppoe.

Автомат не сработал почему-то