Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Mon, 4 Mar 2002 14:10:12 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: cygwin 1.3.10: kill gives spurious Not owner Message-ID: <20020304191012.GE14103@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <002301c1c394$f2c00090$dc37500a AT midaskapiti DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <002301c1c394$f2c00090$dc37500a@midaskapiti.com> User-Agent: Mutt/1.3.23.1i On Mon, Mar 04, 2002 at 03:54:52PM -0000, Stephen Osborn wrote: >When using kill I get spurious "Not owner" messages, even though all >processes (reported by ps) are running as me. > >In the mailing list archives the only problems with kill seem to be >related to killing *other* users' processes. This is not what I am >doing. > >I am running Cygwin on NT. Cygcheck o/p at the bottom. > >I have a script (A) which runs another script (B) in a separate >process. B stores its PID and this is retrieved by the A. B also runs >another script (C) in a separate process. > >Script A tries to remove all of these processes in a housekeeping >exercise, by using ps, grep and script B's PID. > >This successfully kills script B but on script C a "Not owner" error is >thrown. > >This was working as expected (i.e. both B & C were killed) but this >changed a couple of days ago. > >I have modified script A to remove the kill command and after the run >ps gives > > PID PPID PGID WINPID TTY UID STIME COMMAND > 802 1 802 802 con 1006 14:11:18 /usr/bin/bash >I 564 1 564 564 con 1006 14:11:40 /usr/bin/bash > 831 1 1020 1034 con 1006 14:38:57 /usr/bin/sh > 920 831 1020 920 con 1006 Jan 1 /cygdrive/d/jdk1.3/bin/java > 682 802 682 571 con 1006 14:44:04 /usr/bin/ps > >Issuing kill 920 (=script C) yields >bash: kill: (920) - Not owner /cygdrive/d/jdk1.3/bin/java is undoubtedly not a cygwin process so it doesn't respond to cygwin signals. This is because recent versions of /bin/sh now use vfork()/exec() to start processes. vfork/exec does not leave an cygwin stub around to deal with signals for non-cygwin processes. The work around is to use bash to start the process. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/