X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.3 required=5.0 tests=BAYES_00,FORGED_YAHOO_RCVD,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <23205009.post@talk.nabble.com> Date: Thu, 23 Apr 2009 14:49:59 -0700 (PDT) From: nachum To: cygwin AT cygwin DOT com Subject: Re: pstree on windows xp - find process spawned from windows process In-Reply-To: <49F0B2B9.7000804@cygwin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <23197461 DOT post AT talk DOT nabble DOT com> <49F0B2B9 DOT 7000804 AT cygwin DOT com> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com >> 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/