как убить поддерево процессов?
Проблема в том что cygwin не имеет почему-то утилит pkill\pgrep. А ps не показывает правильные PID'ы родительского процесса (почти всегда пишет 1). Как же это сделать?
Самый элементарный пример:
выполняем скрипт вида
echo " sleep 10000" | bash &
получаем два процесса: bash и sleep. Если просто убить bash, то sleep всегда остаётся, какой бы сигнал башу я бы не послал. Однако под юниксами я всегда могу посмотреть через ps либо pgrep'ом выявить дочерних и убить их. В цигвине же не получается. Есть ещё какие-нибудь способы массового убийства?
cygwin kill (как убить поддерево процессов?)
Модератор: Модераторы разделов
-
cy6erGn0m
- Сообщения: 119
- ОС: MandrivaLinux/Solaris 10
cygwin kill
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/
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
В линуксе если родитель завершится раньше потомка, то ppid потомка меняется на 1. Или в кигвине промежуточная запускалка, которая завершается после того как запустит ваш процесс, или в нем просто не прикрутили иерархию процессов. Если второе, то очень жаль, ибо других способов найти потомков по-моему нет.
-
cy6erGn0m
- Сообщения: 119
- ОС: MandrivaLinux/Solaris 10
Re: cygwin kill
Неужели никаких штатных способов нет?
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/
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/