This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: pstree on windows xp - find process spawned from windows process
>> Hi, I'm new to cygwin, and I am beginning to like it. I am having trouble
>> though with child processes that have only Windows PIDs and not cygwin
>> PIDs.
>>
>> When I run Xilinx bitgen from cygwin 2 processes are run both with the
>> name
>> bitgen.exe. Below I am running bitgen through make.
>>
>> PID PPID PGID WINPID TTY UID STIME COMMAND
>> S 3936 2836 3936 2380 0 12696 19:54:49 /usr/bin/make
>> S 808 3936 3936 2852 0 12696 19:54:49
>> /cygdrive/c/Xilinx/10.1/ISE/bin/nt/bitgen
>> 2852 0 0 2852 ? 0 19:54:49
>> c:\Xilinx\10.1\ISE\bin\nt\bitgen.exe
>> 504 0 0 504 ? 0 19:54:49
>> c:\Xilinx\10.1\ISE\bin\nt\unwrapped\bitgen.exe
>>
>> When I ctrl-c to kill bitgen after calling make I end up killing only
>> process 808 which is also process 2852 as 808 is the child of 3936
>> (make).
>> 504 doesn't get killed, and within process explorer I see it running and
>> it
>> reports it's parent as 2852 even though 2852 is gone. I thought I could
>> kill
>> the process by finding it within the make file after the bitgen call and
>> manually killing it, but I haven't found a way to find the process. I
>> prefer
>> not to use a name based kill of bitgen b/c that will kill all bitgens
>> that
>> might be going on at the same time.
>>
>> I am running in an xterm on XP 32 bit SP3. Here are some relevant
>> versions:
>> bash 3.2.48(21)
>> ps 1.11
>> pstree 21.5
>> kill 1.14
>
> I don't know anything about Xilinx/bitgen so I don't know why you end up
> with the wrapped and unwrapped versions running. That would be a question
> for the Xilinx folks. But if you just need to kill a process, you can
> use '/bin/kill -f 504' in your example above. That should kill the
> Windows process for you.
I know that I can kill it with the -f switch, but I want to know how to
figure out which process to kill. For example if I have 2 separate
compilations going then I will have 4 bitgen processes running at once since
the Xilinx bitgen tools spawn an "unwrapped" version of bitgen to do the
actual processing. This means I need a programmatic way of saying this is
the PID that belongs to this instance of make->bitgen. pstree doesn't seem
to allow identifying Windows sub processes, if I could do that then I could
use pstree to figure out which bitgen is spawned from make, and subsequently
which unwrapped bitgen should be killed.
Thanx,
nachum
--
View this message in context: http://www.nabble.com/pstree-on-windows-xp---find-process-spawned-from-windows-process-tp23197461p23205009.html
Sent from the Cygwin list mailing list archive at Nabble.com.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/