Kill_by_name

Cesare Pizzi (cpizzi@globalnet.it)
Tue, 24 Feb 1998 23:07:05 +0100


This is a multi-part message in MIME format.
--------------3E61C1223C97AC099C4B0D9A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello All,

I'm coming back to you with a new version of my system call.
A couple of weeks ago, I was thinking that if you can (via system call)
kill
a process, there should be a way to see if the process is running, or
not.
So, I developed this new system call (with some suggestions from
Alessandro
Rubini):

int kill_by_name(const char *name,const int signr,const int
maxnrproc,pid_t *pid
list)

name=process name
signr=signal number to send (0 if you want only see if a process is
running)
maxnrproc=maximum number of processes to kill
pidlist=array to store the list of killed processes (terminated with a
0)

Return value= 0 if all went fine, or != 0 if there was an error

The function returns the PID in negative format, if you have not enough
permission to send a signal to it.
The array pidlist must be maxnrproc+1 long, because you have to reserve
a
"box" for the EndOfArray value (0).

I'm attaching a patch file, so you can add it to your 2.1.88 box. I've
done
the modification only for 386 architecture, because I was not sure about

the changes to do for the other systems.

I've also wrote a simple application, to show the use of this new call.
Starting from killall sources (based on /proc), I re-wrote the
application,
so now use my call. It is quite simple, but it works fine (see file
killbn.tgz).

Have a look to it.

Thanks and regards,

Cesare.

--------------3E61C1223C97AC099C4B0D9A
Content-Type: application/x-gzip; name="kill.patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="kill.patch.gz"

H4sICBb78TQAA2tpbGwucGF0Y2gAnVZtb9s2EP4s/YpDBxSWZdmW08SO3RTJOhfIsLRBUnQo
hkKgJcomLFEaScV12vz3HSn5/SXN9EGSeeTdc89zd3LE4hi8AjxP0LAQkj1QfOd05sUsofDQ
afrNXq+VMF58bxERTlrspHfWmlLBadKiXIl58x6Om23P837Rk3WTcfhARwDn0Gn3O91+uwf+
+XnPdl33mTDWfVGe7XTAP+23z/unfnn28hK805OTRhdc/ejB5aUNVjPJ+Bjuv978/umv4OPV
zbAm5zLIBSWRY1mtOvi9NtRbh3fOBFPUOWgPJ9mMO7Z7wDxlSRKM5gEnqXFie1ZT0FzBx7sA
7SFJEun5vY52sGf9BI8c8MzZYqMBR3kk7OglOjMeJkVEW0SmniG64EyqqDmBZ+x7lD64d1fq
Tndb6sOHd7Ruv1lp7fd6jTNw9aNrtP4tojHjFIIASTQKWxaqu20wgmqLv2UxUmoDqrFhWBfR
MqLYgJVTSCq8BybZCLmlQmQCeJGOqJBABAXGQU0oCMLHqIIPHt46nT5ISuHtMlc8x7Pm5J2p
wZcJWDWGZGNOkmYIe1f3iLW1w7onCv4kHDpIbq/vd5cdtZJo58iGMKdn/c7ZSpjumzMtjHmU
yliCqkJwMETKLKVqwvg4YDzOauizAa/1awNyFjkDG56QCbdVt12owzr3fcBqz2agMiSRR0Cg
BKQXciIUC4uECMhFFlIpqTQOWISTg8WMRjCaG0UqO2iXTbPnM67GBQ8Vw2otscq+sZirCbfX
fyATUkEWwysNiUavVnGg1gZFRco4UTRyVgfBeNaHGYajY6K0oCw2MHTrIgtLOBOCezIFufYk
JUJZd4TAmDILV4WaZKIP76nUZXbLHh8Z1MJcPy9HbBxnmWqGWepUqRE+lZqhqwSjEBwTGdwV
I8aZtrdsF0sRcUzJWJcshtgeW7Uw45h5OEFq63qhAeUK7jYCiPWFlHznQqdk1AwU1PGhqUM4
PzBidUklilCBInIaVO/1fGC7qx3aWZgVeL+A9mC1bnCoNNdI/vG73wabR0wfbjqKoVYr2/NC
x+VhPg9ikaWBbuDa64Wv9reGyU6yR5rFtWrZwb71HQfeQtuBtQQWV1ktpX9nDcvTOgQcFl+o
YHFZfyQ0eqMk5hcOKphNKEo5o1gkWKe6nAtlrBFRxKi0cLVI5MH4C/Tp2pfh3fWHr8Hfd9ef
h42K7kUaRgQHC2EpzDpKzU0J/X/nFmcioCScBFrLWm4c4dfMMrQj3WGa13LvHRZk2lhw6sDF
RcXnbtQVZ7dVZ8RYBtEGC1vXghRTtjpHHREzb5Tl2XYGRwItOTCg4OdPWP7yhrfDu5vjOPe7
2cvngQu1LkuxAr1omMGzHp6AJpK+IBSSalKqUjxC6UGQXgXTeQnOX+Cv8ua6z7szY+HYxqcd
y+4KUvF+QsOpLmDdHCwt0ur7raf8argL+m9BJQ72fXRp1aspdbHWYkckGWHHTnehPx0eHVdR
ZGbBkEef4ishyBweSFLQDTxLfdrruqzsVS+bVtABYGvsgx77QgXYMZhuQc23WQ9UXZGLUd/Q
N23Rc73QL/jf84f9H/txXVdfDAAA
--------------3E61C1223C97AC099C4B0D9A
Content-Type: application/octet-stream; name="killbn.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="killbn.tgz"

H4sIAJxC8zQAA+0aa3PaSDJf0a/o1SYbyRYYYYwTE3vLIU7Cxa8z4GQvcVFCCFBZSJQksJ2s
//t1z0MI7NjZrbNzVzddlaCeR093Tz8nOfeDoBeuHTjn3sAPvCcPAXa5XKtW4QkAbNY22a8t
cAbVsg1Qq25Wa+ubNXsTZyu1jc0nUH4QbpZgmqRODPDk3ItDL7hrnRcnj8HQ40KjsQ1D19WO
jtvNo8PWNhSPKqAdvf7HXqPdgm04Z/ZRiiDxh6ETJKVI06JpOpmmW/DUEOtMrfDUaDRMGuF0
zNwkfu43X5tQjAQ1TaNfJwhK0RbIE9xbaBTd+ayWMbBVkJ/f2TOf1tzAc8ItrRCPoRgPYAXZ
l9+Cl599AT8ZuBbW+tPx+Ko0epgz7vF/27arzP/Xa/Z6jWKBXdmoKP9/FNDWVjRYgfbIT4AS
ALhRmDp+mEA68iC5SlJvDC76KoTTcQ9VUMLla5r2qx+6wbTvwatp6CdpvzTa0TTvMkUtEokk
BXeEel0JnbFXX5zww5S5aHzL+Ni5DONJHLnZ3MTvd1NYwZ8Az6lrGi0jq+32rrpE3Vg+zlo6
xrqFvLVE19S+aUEUDqHbjb2kjj9OMu528XcWBU5KijF0ovC0fPmirMMW6NuODgZbbsIXjUZw
3LBfrAOYlt7Db4MomgYQU2DioJsbZKzRKOj9bBgJGXMm2Z5Wbo9gFsfNOvQj+Ab+AGenIRHz
+iCWMaaAiO1sw/JsEZ3LNHGrF8dhhBG+mG2og/iiUbsO10gh9tIp3oIBTH9INLf6Gi5GTDNl
E+ra9f97KP2fBBH/ZZp9kDPuif81Qnj9Vy1XamVe/1VV/H8MEPH/g7h/KLJPoPDjJQn0rnj0
KkLPSTCGRCEk0TR2PYh4BYWZgfZnOWSGWvJxFaqLp5DQu1hII/nQjbuWswmmEj+iZLIwFPi9
xTEWvBaHMGCv8cpvYVwXpY2Op/Sxxwk9ONj91D3cPdhrgZH4X71osBQjV16Y+bXHzTeFykZN
Q1XBuyDqOQHMnNh3egGKiNxTYESxe1HiYeAs19kA/vFix039mRjUZpHfR7U4Q8+gT8o4hcEk
xoUDA0VEiSydTW+J0hQ+Q9GfwRn9csHwm91GqVT6Eupm/SYB4VKCQDH4sWWnX8I7FhZ9vtpJ
zmEQxZStB348xqyI99zzcMhjlPxweBeVgFNhCYwZQhhdhKJWZ2Ild+0W6xIv7Ms9WKSkntMn
S2w137X3Tg7uIjDjx8feJIpTypusvuGULpwEkqlLFj+YBsEVHZPeReyUE+v7ySRwrjKj90NU
BldMplHv0k+NvU/NdvftbnO/c7JnUqpkNoIK7ZLiDFGLkGosWbY4AbMQQi/r/BfPj2Lx7Y7Q
pAp0HcYlMzCm2M+XZ/ALwy5XVzHJa4WCYF9vvoFnfbgg5+7x+/L6JWhgteeHU8zhV2uh+Tvo
ltNLDEEKqww8o0CFBv4U3BEeNPRSqrQMEq2QFQA4hcc+v3oOv/0GAvkjj4R55PA5J0zFCxHl
O//8EwTyx3NinY5kEosuVHJlCe0wEoxG5nzbYHOhCwX01cbIc7nFiiJm5gQoKXpsQWwU5FFh
ctuN625ldicNokByewGe950tz8iQrSSNGXmDhSpT7tTEX/jnGu2gwMMCiXbDFPL3/wNXLRQq
53YyoaQF5ESBNEJrIDblVfPrnIslNx1GMPHisZ8wA8dteQ/MqCwZTSbevFhHjzekaU/HlizG
ye0tXrqz2n1BbmHvWoErhR3A4/GqfSb8wM9043Pd+PAqo4yYdAONmUSLmHeApQQhhEVS+H1U
ij+4knmPB/ZF+8v6DcnnZ//MKlucIaZHJnlmV0L73PbEEFeNWLWQIuamm0UFFg64vm5cz72M
CT0vc3eDvZv8cRu9y7fm1jqnm9m0JimW54FujA0lu30nHmLrxe8bv2efz25etrASFE5EdTaI
rNBm4qNCoQS9LXbHE4NRsc8svRjo2NbMfVkTfIrHIB6wBGssHLc6jcZeq0XjxDUFjGg8dkLy
Rkz8EwdjOjaEZAcsyvHzd8Cm41fEuSxeFWW8ohXFYp1/zVZX65wP1qQJftlG5Ha2yG1hXkDY
ubu+bae/tHOx0rhv9wy3i90YcG/QnsnZ7xP/C6yeLrG6HCk/iPqDysyGlzhYSBz7X7/6YGTV
pqgxacVHqtBj2A3Qs3tePPRiMwvJy5RPRUamyJD3kXwpmm3OuemyZSw4HdV/XpovHPibiEgp
3GgxQQqb42pYtS1dCKHPQ2POol9BhauH14bcHufTO7lydVX64LK4GPD88XQs+cGKiMU/wIKc
B+iMBmPhtpqEDuVeQOomGclrIY6mKbkDibgQdCigo5wWs3nb4qKypLwUUdS7wH8ziP4/ezJ/
iDPue//dtGvi/bdSXd+o4sh6uVpT/f9jADp8dvcYiHPtGIwwFwYiBWosPU6uYn84SsF++XK9
iH9t3BKTS1hkefwpuXF0/Efz8B0Lwn0vdXw8hBG7p7m/9Q0AA95wccxNrybeYq8vRaFuX6Np
7OIB907dFOMmGRtVFzxK1hl+8636muoOipUYyzQ0jtR35YhU1WfM+0hv6VxUAR0M8A3K1mFn
fx+ur4nGvMKXtYjs/4kBSXrlwgnO6xmPbhTgXs5hwF8QCGGVLq3EIUGtDoQXdxj37FvUvKy9
ioJVlD/wQmO+yly1Ma284FmZqE6mvKl7/iWk1qywcCwlBtkNPEueJbpFU9gqAnsG160cYVxN
k6vbcNuhXIRr7ZYjMSOySjGXPW886PMBd/w91XHdUWGd9P0hZji22TRlRgInjXxD8PlXlMlV
+YsobuYLLE4ferHnyKsbQF5m2XmKoZzd3Wwat2Aa5t9E6vAsoVcTspwkc1JK5lwnqAdOimVz
+29m2qX4/yD/Anjfv/9vZv/+N4//62UV/x8DcvF/9JjxfxBSaGYevN/qvs/eW+cj34ubdcbM
PvOK298R2St1itw7MfYQ7D8r8HN/PMLwQ06Y9ya3VPxYYVPoKUETS+2IHg9HcgW6I7JmgRPy
npZ8FJmi4p7qcfFmiN0NtZpEeRJHw9gZ02RKTy2hk7KnuYM3bIje0Ok6IvZkSdScySTwXfbM
yOX61Qv7/uBv1dl5/2cJ7D9tYE9+wP8r68v+b2+q+u9R4Btgf/q+c6zDtaV9g4qlNw/bAlm3
9H92mhKr4tT+vkA2LL19sit31Sx99/VJe441jySyaemvOy2BvLD0t8d7AnmJ/f+coF229E7r
xJYoctXae3cq0QqbrUgUOTtuZpRsZG13/+RAosTc3hxFflrtD2/3JUs28tR4v/9GoshV4ygT
2n5Jy48yhSBf7VY7Q5Gvdrt5KNEKoUcdiSJfnZN3EkO2PjWOs0lk69Pb1r8kimydtnNsV5Ct
45OjtxJFtj42DxvvJf6S1CpvBrk6/ngiMWSqc9hp7XGRfrZJKVCgQIECBQoUKFCgQIECBQoU
KFCgQIECBQoUKFCgQIECBQoUKFCgQIECBQoeGP4N+ZOkAwBQAAA=
--------------3E61C1223C97AC099C4B0D9A--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu