home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 19
/
CD_ASCQ_19_010295.iso
/
vrac
/
ntkill.zip
/
README.NT
< prev
Wrap
Text File
|
1994-10-05
|
7KB
|
153 lines
this program is designed to assist in killing applications.
Specifically helpfull for killing win16 applications.
There already is a good kill program called killproc available or pview
that can kill all processes.
However, for win16 processes these applications will either kill all ntvdm's
(ie all win 16 appliations under daytona), or a selected ntvdm. Using
these applications there is no way to tell which ntvdm is the one for the
win16 application you want to terminate.
For this reason I implemented the kill and ps programs.
for help on the kill program issue the command 'kill' with no parameters
and you will get the follwoing output:
USAGE for kill Version 1.0 by L. Kahn (C) 1994
-------------------------------------------------------------------------------
Kill [process_id] [-c classname] [-t [\"]textname[\"]]
WHERE either a process_id, a classname or a textname is required,
AND process_id is the id of the process you wish to kill (This can be
retrieved via the 'ps' (process status) program.
classname or textname are the class name or the textual (title) name
of the window(s) you wish to kill, also accessed via 'ps'
Quotation marks can be use around the text name in case it contains blanks.
The program will access the window (if terminating by class or textname)
and attempt to kill the application cleanly via a WM_CLOSE message.
If this fails (ie the app is not well behaved or is hung and not processing
messages), then an attempt is then made to kill the entire process via a
TerminateProcess call (ie termination with Extreme prejudice...<g>)!
If terminating by process id the entire process is terminated!
NOTE: This program will kill ALL applications/processes that match the
search criteria!
NOTE: RE: terminating WIN16 applications -
Since terminating an entire process can kill more than one application (i.e.,
if you haven't set up your win16 apps to run in separate NTVDM's), the
recommended method to use this program is to issue 'ps' and get either the
window class name or text name and then use the -c or -t options to terminate
only the application desired.
PS is modeled after the unix ps (process status) command and will enumerate
through all windows on the system listing the associated process id (PID)
and window class name and text name (ie the window title).
Based on this information you can figure out the name of the application
you want to terminate and then cleanly terminate it using the WM_CLOSE
message. This is assuming the application is a windows app and well behaved
(ie processes this message and also that it is not hung). IF this method
of termination fails the entire process is then terminated anyway.
You can also terminate an entire process directly just like the killproc
program, except you must issue the command 'kill PID' where PID is the
process id returned from the 'ps' program.
NOTE: case is important when terminating by class or text name.
Here is an example output of the output from PS:
Process List (by Window) program By L. Kahn (C) 1994
-----------------------------------------------------------------
PID CLASS NAME TEXT NAME
-----------------------------------------------------------------
51 NDDEAgnt NetDDE Agent
0 #32772
202 ConsoleWindowClass I:\WINNT\system32\cmd.exe - ps
200 ConsoleWindowClass I:\WINNT\system32\cmd.exe - e readme.nt
198 UIW_MDIFRAME Eudora
198 ZINC_TASK_MANAGER Eudora
198 WOWExecClass WOWExec
221 UIW_WINDOW Progress
221 UIW_MDIFRAME Eudora
221 ZINC_TASK_MANAGER Eudora
221 WOWExecClass WOWExec
190 WOWExecClass WOWExec
198 ConsoleWindowClass CSN Eudora
221 ConsoleWindowClass Interpath Eudora
190 ConsoleWindowClass Smtp Deamon
78 AppTermClass
78 AppTermClass
78 #32772
78 WFS_Frame File Manager - [J:\*.* - ]
130 TakoHachi Task List
155 #32772
155 NTbanWClass NTbanner
130 ComboLBox
78 ComboLBox
147 #32772
147 SciCalc Calculator
149 #32772
149 Volume Volume Control
174 #32772
174 Cardfile Cardfile - ADDRESS.CRD
130 #32772
130 Progman Program Manager - AMBRA-TP60VL2\larry
190 #32772
190 ISMTPD IMAIL SMTP Server
189 #32772
189 MicroEMACS:frame MicroEMACS
For instance to kill all occurances of Eudora on your system you would
issue the command 'kill -t Eudora'
example output from this command:
J:\>kill -t Eudora
Attempting to kill/close Window UIW_MDIFRAME (Eudora) cleanly
Window UIW_MDIFRAME (Eudora) closed!
Attempting to kill/close Window UIW_MDIFRAME (Eudora) cleanly
Window UIW_MDIFRAME (Eudora) closed!
J:\>
To kill only the ipswitch smtp deamon you would issue the
command 'kill -c ISMTPD' or 'kill 190'
Example output from this command:
J:\>kill -c ISMTPD
Attempting to kill/close Window ISMTPD (IMAIL SMTP Server) cleanly
Window ISMTPD (IMAIL SMTP Server) closed!
J:\>
An alternate way to kill only one of the eudora's would be to issue
the command: 'kill 198'
This program is freeware but all donations are welcome.
Source may be provided to specific users upon request for porting to other
platforms.
larry kahn
6550 countryside drive
fayetteville N.C. 28311
910-630-0412
I can be reached for problems or comments at
71534,600 on compuserve
or kahn@kahn.pdial.interpath.net, kahn@drcoffsite.com, or kahn@csn.org