Amiga!
Home
Support
Get the SDK
(Answer) (Category) Amiga Inc. Faq-O-Matic : (Category) Amiga SDK FAQ :
How to Kill Processes/Jobs
If I'm running eterm in the GUI and, say, run the "demo/ave/freeball" demo (without running it under "sub -b"), it makes a nice boingy ball. How do I stop the boingy ball and get my shell prompt back? ^C, ^D, ^X, ^Z, ^\, ^[, ^] all do nothing.
I can start another eterm from the pull-down menu available from clicking on the root window, and I can see my process running when I do a "ps", but all the "kill.00" files say "tool specified is not a main tool" when I try to run them.
dabe
From the "answering my own question" department... I whipped up the following snippet of VP code [*Sniffle* My very first!]:
    .include 'taort'

    tool 'app/stdio/kill',VP,F_MAIN,8192,0
        ent -:-

        defbegin 0
        defp argv,str

        qcall lib/argcargv,(-:argv,i~)
        cpy.p [argv+4],str
        qcall lib/atoi,(str:i1)
    
        qcall sys/kn/sig/kill,(i0,SIGTERM:i~)
        ret
        defendnz

    toolend
When saved as, e.g., "/src/kill.asm" and assembled via:
    asm -v kill.asm
it creates "/app/stdio/kill.00", which can then be called thusly:
    kill <pid>
from any directory ("/app/stdio" is in your $shell.path by default).

Error handling is (obviously) non-existant, and you can't specify which signal(s) to generate/deliver, but hey, it gets the job done (pun).

Hope this helps others just getting started down the path...
dabe

[Append to This Answer]
Previous: (Answer) Amiga SDK and RedHAT 7.0
Next: (Answer) Updated ave.h et al for C/C++
This document is: http://www.amiga.com/cgi-bin/fom.cgi?file=203
[Search] [Appearance]
This is a Faq-O-Matic 2.710.
This FAQ administered by ray@amiga.com


© 1996-2000 Amiga, Inc.