[Comm] Как убить потомка?

Kharitonov A. Dmitry =?iso-8859-1?q?kharpost_=CE=C1_rambler=2Eru?=
Пн Дек 1 02:37:10 MSK 2008


Dmitry Chistikov пишет:
>> Это красивое решение. Вы мне предлагали сделать цикл с while или for, ps,
>> grep, sed или cut. А тут одна команда.
>>     
>
> Нет-нет, что Вы, какие циклы. Мое решение:
>
> kill `ps -o pid= --ppid 1150`
>
> или
>
> ps -o pid= --ppid 1150 | xargs kill
>
> Я предполагал, что если Вы уже неплохо пишете скрипты, то должны быть
> знакомы с command substitution, а потому воспринял слова о
> зависимостях в смысле необходимости обойти целое поддерево дерева
> процессов. Тем не менее, открыть для себя эту возможность Shell'а и, в
> качестве некоторой альтернативы, утилиту xargs никогда не поздно!
>   
Если вы знали ответ, то сообщили бы сразу ответ: ps -o pid= --ppid, с 
экономили бы своё время и моё.
Спасибо с ключем -о я экспериментировал, но до связки с --ppid не догадался.

kill `ps -o pid= --ppid 1150` работает не так, как мне хотелось бы. Почему-то убивает не всех. pkill убивает

В другом месте примерно такая модель
{ sleep 100; }& { sleep 100; }& { while true; do sleep 10; echo hello1; done; }& { sleep 100; echo hello2; } & ps -j
Здесь придётся писать скрипт.

> Да, на всякий случай предложу идею по поводу wget'ов: не убивать их, а
> останавливать (а после восстановления соединения - продолжать;
> возможно, Вы уже так делаете?).
>   
Считываемые данные замораживаются только на момент передачи. Продолжать 
с момента разрыва не получится.

Спасибо за помощь.



Подробная информация о списке рассылки community