This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: cygwin 1.3.10: kill gives spurious Not owner
- From: Christopher Faylor <cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Mon, 4 Mar 2002 14:10:12 -0500
- Subject: Re: cygwin 1.3.10: kill gives spurious Not owner
- References: <002301c1c394$f2c00090$dc37500a@midaskapiti.com>
- Reply-to: cygwin at cygwin dot com
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/