delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/06/20/09:18:36

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=btvWat2Ieex1zwKT
LEBOQ8afZiw782e8E5k1rLinnjqAPofwxU1Zpd1vvPufLX/cEd2vrJdLEaebjNuj
QNvSLfUWlkKhMSfqZA1yMloKq8cli4a1Nx4v0Sir3NdVDEpIWqvr98HG4Kn9zHgw
16OtVQAcdzkeCmiWpdPyZ6zfUrM=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=jEzf0bRN9NQztc9N0wGpiK
W7oE0=; b=KTjBlyULtalymMRdtA0XTIYpaEGkufxoWNJWisqdHcinrbMY4KD52R
H4BJtH9sU5GwCYJU09zHyYGiu/3GVXuiWJoex1wMGMGqP4T0CFwXr1qWh13r+Fze
pvzalsvcPF+logm2IqfMIq2ZaeF3neYX7TGB5RswK56zoVvzepZes=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Valentin, valentin, Otto, otto
X-HELO: mail-io0-f180.google.com
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=CWd/gqKTPkNUJaHMDwfaOACMzTE/X6KW84WCosilbH4=; b=RdW6F3Feu8KJoXJd95nDhQJj89AuIEEpYxphaYVyzipigy0q57i+6K4SheXpCsr51B bkykBH6l34sdoEwTGy9yu1gGoBb4eLA1xMBPfxBvn3rzj154wuYJiuT2n/40dTDhTac+ Zz5ANIQeeBI3dn+4ro0SIRDIzEUNQ8BGpdSEpB+p/lCsjuI6ByhwrhMZY4jEdn6IxLXk +kVNb7+0hRIIK+AgzN647fPZdAqRuPP8T9oMD5/ubhwyl1tE+68F4J0n4XAOIDqdZR6e ZkskBosiUjmjIgpYVsnAS4hQF1L49Tuersvw4PH1rOSQxAKAcmjHQIrSPDyg+JwALL5r jRVA==
X-Gm-Message-State: AKS2vOwAuM9PBHfsPrGbG2Yhm+OnKXWGDJBcU3IONne2ff6A78eUDK2D 3aC6CUmV65xTOGI9
X-Received: by 10.107.18.146 with SMTP id 18mr18406414ios.144.1497964694368; Tue, 20 Jun 2017 06:18:14 -0700 (PDT)
Subject: Re: Killing-Process woes
To: cygwin AT cygwin DOT com
References: <1497939835 DOT 2871765 DOT 1014990544 DOT 3396EEF9 AT webmail DOT messagingengine DOT com>
From: cyg Simple <cygsimple AT gmail DOT com>
Message-ID: <f3b72886-7424-7cd6-b160-64a9515bcc36@gmail.com>
Date: Tue, 20 Jun 2017 09:18:16 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0
MIME-Version: 1.0
In-Reply-To: <1497939835.2871765.1014990544.3396EEF9@webmail.messagingengine.com>
X-IsSubscribed: yes

On 6/20/2017 2:23 AM, Ronald Otto Valentin Fischer wrote:
> I'm spawning processes in background, but have problems killing them.
> Here is the setup:
> 

Maybe review the Cygwin document at
https://cygwin.com/cygwin-ug-net/kill.html would help.

> My script (zsh) creates one or more processes in the background, and
> waits until they are finished. I have also set up a trap for SIGINT,
> with the intention that if I press Control-C, the background processes
> should be killed. I have verified the setup so far, that upon Control-C,
> the trap function is indeed invoked, and I have all the PIDs of the
> background processes. The problem is with the actual killing, and here
> is why:
> 
> The background processes are actually (zsh-) scripts, which do some
> setup (basically setting various environment variables), and then invoke
> a (Cygwin-)Ruby program which does the "real work". The program is
> executed by something like
> 
>     ruby myprog.rb
> 
> (Note that this Ruby program is NOT invoked in background).
> 
> When my SIGINT trap is entered, I can see from ps indeed the
> relationship between the processes involved, for instance
> 
>     10852    9296    6224      10536  cons3    3672028 08:05:10
>     /usr/bin/ruby
>      9296    6224    6224      11236  cons3    3672028 08:05:10
>      /usr/bin/zsh
> 
> The PID of my background process - the zsh wrapper - in this concrete
> case is 9296, and we can see that this is the parent of the Ruby
> process, 10852. The problem is that if I just kill 9296, the Ruby
> process keeps running, orphaned:
> 
>     10852       1    6224      10536  cons3    3672028 08:05:10
>     /usr/bin/ruby
> 
> I've found on Stackoverflow the suggestion to treat this as a process
> group and use negative PIDs. I tried this too, but it didn't work. Here
> is a similar example:
> 

Not implemented as you found out below.  But I don't know that the
negative process number is in use anywhere.  Are you sure it wasn't a
signal number as a option to kill?

>      5548   10276    5812       2376  cons3    3672028 08:20:43
>      /usr/bin/ruby
>     10276    5812    5812      10312  cons3    3672028 08:20:43
>     /usr/bin/zsh
> 
> If I do a
> 
>     kill -- -10276
> 
> I get the error message
> 
>      kill: -10276: No such process
> 
> This happens both with the zsh-builtin kill and with /usr/bin/kill Is
> there a simple way to kill the zsh process in addition to the ruby
> process, or do I have to analyze the output of the ps command to
> manually find the PID of the Ruby process and kill it?

Perhaps use the -f --force switch might help.

-- 
cyg Simple

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019