我在使用Cygwin的Windows 7计算机上。
有一个进程在端口9090上侦听我要杀死的进程。
首先,我运行了netstat -ao | grep 9090
来查找其PID 19892
。然后我想杀了它。
$ netstat -ao | grep 9090
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:9090 yyyyyyyyyy:0 LISTENING 19892
TCP xx.xx.xx.xxx:58278 yyyyyyyyyy:9090 TIME_WAIT 0
TCP xx.xx.xx.xxx:58280 yyyyyyyyyy:9090 TIME_WAIT 0
TCP [::]:9090 yyyyyyyyyy:0 LISTENING 19892
尝试1 kill -9 19892
无法终止进程,发出错误
-sh: kill: (19892) - No such process
尝试2 taskkill /PID 19892
无法终止进程,发出错误
ERROR: The process with PID 19892 could not be terminated.
Reason: This process can only be terminated forcefully (with /F option).
尝试3 taskkill /F /PID 19892
正常工作
SUCCESS: The process with PID 19892 has been terminated.
问题:
kill
和taskkill
有何不同?
为什么我在这里需要/F
选项?
/F
选项到底做了什么? (显然它不仅仅是发送SIGKILL)
/ f:指定强制终止进程。远程进程忽略此参数;所有远程进程都被强制终止(source)