説明
I think it would be good if the Readme warned people about false positives.
Even if SUCCESS: Sent termination signal to the process "abc.exe" with PID 123 is returned, there is no guarantee that the process will actually be terminated (see example below) - it's just sending the signal, not more, not less.
λ tasklist /fi "imageName eq boinc.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
boinc.exe 12312 Console 1 14,108 K
λ taskkill /im "boinc.exe"
SUCCESS: Sent termination signal to the process "boinc.exe" with PID 12312.
λ tasklist /fi "imageName eq boinc.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
boinc.exe 12312 Console 1 16,616 K
λ taskkill /im "boinc.exe" /f
SUCCESS: The process "boinc.exe" with PID 12312 has been terminated.
λ tasklist /fi "imageName eq boinc.exe"
INFO: No tasks are running which match the specified criteria.
Just to be clear: the warning should apply to the force option as well: for example, if you are trying to kill a task that depends on a service, you will have to kill the service first.
There are also the usual suspects, of course: insufficient permissions, unkillable system processes, faulty driver processes, etc. All in all, you should probably always check whether the process you tried to kill was actually killed.
PS: Just in case anyone wants to parse the taskkill output to report info, success, errors, etc. in a more user friendly way: please note that these messages are i18n'ed (for example, in English: SUCCESS: ..., in German: ERFOLGREICH: ...).
PPS: It might be worth investigating what the pros and cons of using taskkill compared to wmic or Stop-Process are. Perhaps there's a better way to kill stuff on Windows ... I only know for a fact that shutdown /t 0 /f /r is very reliable when it comes to killing processes. Unfortunately, however, it has terrible performance. :/