cygwin kill (как убить поддерево процессов?)

Модератор: Модераторы разделов

Аватара пользователя
cy6erGn0m
Сообщения: 119
ОС: MandrivaLinux/Solaris 10

cygwin kill

Сообщение cy6erGn0m »

как убить поддерево процессов?
Проблема в том что cygwin не имеет почему-то утилит pkill\pgrep. А ps не показывает правильные PID'ы родительского процесса (почти всегда пишет 1). Как же это сделать?

Самый элементарный пример:

выполняем скрипт вида
echo " sleep 10000" | bash &

получаем два процесса: bash и sleep. Если просто убить bash, то sleep всегда остаётся, какой бы сигнал башу я бы не послал. Однако под юниксами я всегда могу посмотреть через ps либо pgrep'ом выявить дочерних и убить их. В цигвине же не получается. Есть ещё какие-нибудь способы массового убийства?
I want to Believe!

They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
Спасибо сказали:
Аватара пользователя
GMar
Сообщения: 237
Статус: Будущий математик
ОС: Kubuntu,Ubuntu(UNR) 10.04

Re: cygwin kill

Сообщение GMar »

В линуксе если родитель завершится раньше потомка, то ppid потомка меняется на 1. Или в кигвине промежуточная запускалка, которая завершается после того как запустит ваш процесс, или в нем просто не прикрутили иерархию процессов. Если второе, то очень жаль, ибо других способов найти потомков по-моему нет.
Спасибо сказали:
Аватара пользователя
cy6erGn0m
Сообщения: 119
ОС: MandrivaLinux/Solaris 10

Re: cygwin kill

Сообщение cy6erGn0m »

Неужели никаких штатных способов нет?
I want to Believe!

They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
Спасибо сказали: