LINUX.ORG.RU

Дочерний процесс и «Child process terminated»


0

0

Есть такой скрипт:

#! /bin/sh
while true; do
pon provider nodetach
sleep 1
done

Запускаем, делаем
# ps auxw | grep pppd
затем
# kill <PID_OF_PPPD>
и видим
Terminated

Т.е. вместе с pppd убился и сам скрипт.
Вопрос: почему и как сделать так, чтобы при убийстве дочернего процесса сам шелловский скрипт не убивался?

anonymous

Ответ на: комментарий от dilmah

dilmah:

> trap 18?

Вряд ли поможет! Шелл не убивается SIGCHLDом.

Наверное, pppd, умирая, убивает всю группу...

Я бы попробовал так:

setsid pon provider nodetach

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous

anonymous (*) (14.03.2005 18:21:56):

> что за trap 18?

Очевидно, предполагалось, что шелл убивается сигналом о смерти дочки (он в Линуксе имеет номер 18), поэтому предлагалось этот сигнал отлавливать.

> man куда?

man bash

Die-Hard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.