Mail Archives: cygwin/2002/03/07/11:19:53
On Thu, Mar 07, 2002 at 03:29:48PM -0000, Stephen Osborn wrote:
>> /cygdrive/d/jdk1.3/bin/java is undoubtedly not a cygwin process
>It is a bash script that runs a java program.
>I would expect the bash script to catch and process the signal.
>
>Is this a mistaken assumption?
>
>> The work around is to use bash to start the process.
>This is what I am doing. The script is only two lines long, viz:
>
>#!/bin/bash
>
>java -server -classpath
>"./NewFlatFileAdapter.jar:$MERIDIAN_CLASSPATH" -Dmeridian.home="$MERIDIAN_HO
>ME" com.misys.meridian.runtime.server.StartServer
>ewFlatFileAdapter -logToScreen
The below ps output indicates that the program is not being started by
bash. You can see that it is using /bin/sh. If you have changed this
and now start the program via bash then it should work. If it doesn't
work, then I really don't know why.
cgf
>----- Original Message -----
>From: Christopher Faylor <cygwin AT cygwin DOT com>
>To: <cygwin AT cygwin DOT com>
>Sent: Monday, March 04, 2002 7:10 PM
>Subject: Re: cygwin 1.3.10: kill gives spurious Not owner
>
>
>> 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.
--
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/
- Raw text -