This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]