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...)! 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. This new version has no changes but contains an alpha axp version of the program .... many thanks to Massimo Fontanelli for compiling this version..... 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