ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Dmitry Chistikov <dd1email@gmail.com>
To: ALT Linux Community general discussions <community@lists.altlinux.org>
Subject: Re: [Comm] Убивание процесса со всеми его дочками
Date: Tue, 31 Jan 2012 12:52:03 +0400
Message-ID: <20120131085203.GA8963@conflux.foliandre> (raw)
In-Reply-To: <4F279FA3.1040607@mail.ru>

[-- Attachment #1: Type: text/plain, Size: 1622 bytes --]

Vladimir Karpinsky, Jan. 31, 2012, 12:00 +0400:
> Но! для 4.0 --- pkill (procps version 3.2.5):
> $ ps -eHo pid,pgid,cmd | grep 27319
> 27319 27319           /bin/bash /home/karp/bin/get_data
> 27340 27319             ping 5.86.210.67 -q -c5 -w10
> 
> $ pkill -g 27319
> pkill: No matching criteria specified
> Usage: pkill [-SIGNAL] [-fvx] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
>          [-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]

Насколько я вижу, это бага в procps.

Сравните:
3.2.5-alt7: http://git.altlinux.org/gears/p/procps.git?p=procps.git;a=blob;f=procps/pgrep.c;h=cf6ced95464864957fe98be998dad67149059ecb;hb=fe6442d4ad66cb30e095e743b94c448f7d5b2857#l538
3.2.8-alt1: http://git.altlinux.org/gears/p/procps.git?p=procps.git;a=blob;f=procps/pgrep.c;h=7ab63ea6d8c7b23e7a298b45cdab8d5dc1a5e6d5;hb=5268d4e01a739a6c48fe180d7c98b17172340d7a#l626
В старой версии -g не учитывается в подсчете критериев выбора,
в результате чего pkill полагает, что таковых не указано.

Согласно
http://git.altlinux.org/gears/p/procps.git?p=procps.git;a=history;f=procps/pgrep.c
и
http://git.altlinux.org/gears/p/procps.git?p=procps.git;a=commitdiff;h=76b8c1dcd63ad56be6a8dccf3f506fea44acd5ab ,
исправление появилось где-то между v3.2.5 и v3.2.7 (точнее, между
procps-3.2.6 и procps-3.2.7; см., например, "pgrep/pkill: g is criteria
(PLD Linux, patch found in locked filing cabinet)" в NEWS).

Если я правильно представляю Вашу задачу, то в качестве обхода можно
задать дополнительно что-нибудь вроде -U username.

Альтернатива: прикладываю патч, который должен решать эту проблему.

-- 
Дмитрий Чистиков

[-- Attachment #2: procps-3.2.5-alt-pgrep-pgid.patch --]
[-- Type: text/plain, Size: 366 bytes --]

diff --git a/procps/pgrep.c b/procps/pgrep.c
index cf6ced9..2fe5986 100644
--- a/procps/pgrep.c
+++ b/procps/pgrep.c
@@ -538,8 +538,9 @@ parse_opts (int argc, char **argv)
 		case 'g':
 	  		opt_pgrp = split_list (optarg, conv_pgrp);
 			if (opt_pgrp == NULL)
 				usage (opt);
+			++criteria_count;
 			break;
 //		case 'i':
 //			opt_insensitive = 1;
 //			break;

  reply	other threads:[~2012-01-31  8:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30 15:50 Vladimir Karpinsky
2012-01-30 17:26 ` Anton Protopopov
2012-01-30 18:01   ` Vladimir Karpinsky
2012-01-30 18:23     ` Dmitry Chistikov
2012-01-30 18:36       ` Vladimir Karpinsky
2012-01-30 19:05         ` Dmitry Chistikov
2012-01-30 19:22           ` Vladimir Karpinsky
2012-01-30 20:34             ` Dmitry Chistikov
2012-01-31  8:00         ` Vladimir Karpinsky
2012-01-31  8:52           ` Dmitry Chistikov [this message]
2012-01-31  9:44             ` Vladimir Karpinsky
2012-01-31 10:00               ` Vladimir Karpinsky
2012-01-31 10:27               ` Dmitry Chistikov
2012-01-31 10:58                 ` Vladimir Karpinsky
2012-01-31 11:18                   ` Dmitry Chistikov
2012-01-30 17:31 ` Vladimir Karpinsky
2012-01-30 17:35 ` Dmitry Chistikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120131085203.GA8963@conflux.foliandre \
    --to=dd1email@gmail.com \
    --cc=community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git