[Toybox] [PATCH] newtoy: kill

Rob Landley rob at landley.net
Sun Feb 26 11:48:39 PST 2012


On 02/22/2012 09:56 AM, Daniel Walter wrote:
> On Tue, Feb 21, 2012 at 07:46:44PM -0600, Rob Landley wrote:
>> On 02/19/2012 10:55 AM, Daniel Walter wrote:
>>> Hi,
>>>
>>> I've implemented a SUS compliant kill command.
>>>
>>> Comments and suggestions are welcome.
>>
>> Cool.
>>
>> I note that "killall" already has about half this infrastructure.  And
>> you're not using any of toybox's option parsing code:
>>
>>   http://landley.net/toybox/code.html#lib_args
>>
>> Also, kill needs to be able to integrate with the shell's job support,
>> so you can kill a background job.  I'm not sure how to handle that, the
>> relevant shell bits haven't been written yet...
>>
>> That said, I can merge this, factor out the common killall and option
>> parsing bits, and then worry about shell integration later.
>>
>> Thanks,
>>
>> Rob
> 
> I wrote kill just before killall was pushed into your repo, so some code 
> is duplicated.
> 
> I did try to use lib_args but I ran into multiple problems when trying to
> use it and allow -HUP or any other -SIGNALNAME, so I gave up and did it
> the way I submitted it. 

Gah!

I've _almost_ got it working with the lib/args.c stuff, and I hit this:

  kill -stop 123 8walrus 456

It should sent SIGSTOP to 123 and 456, and complain that 8walrus isn't a
valid PID name, and it_almost_ does, except:

  kill: Unknown signal 'top'

Why, do you ask, is it doing this?

  kill -s top

GAAAAHHHH!!!!

(Because "make -j 3" and "make -j3" are synonymous.  I thought making
"echo -nex" work right covered most of the interesting cases, but no...)

Let's see...

landley at brillig:~/toybox/toybox$ sleep 500 &
[1] 11541
landley at brillig:~/toybox/toybox$ kill -scont 11541
bash: kill: scont: invalid signal specification
landley at brillig:~/toybox/toybox$ kill -sCONT 11541
bash: kill: sCONT: invalid signal specification
landley at brillig:~/toybox/toybox$

Ok, it's not a case sensitivity issue, and it's not a "scan for known
-signal names first" issue. I actually _do_ have to teach lib/args.c
about strings that _must_ be a separate argument.

Sigh. I'll check in what I have, and then I need to fix this...

Rob



More information about the Toybox mailing list