过去,我使用psKill。它真的很强大,也许很危险。即使在远程计算机中,您也会杀死多进程。我想你知道当我们想要残忍地杀死进程时,我们必须非常小心。
- 下载工具,解压并复制到已知路径。
- 第一次启动时要求许可。您从 cmd 启动一次并同意。
然后你用这样的东西
process_name <- 'your_process_name'
system(paste(path_to_pskil,'pskill ',process_name,sep=''),intern=T)
例如要杀死所有 chrome 实例,您可以这样做
system('c:/temp/pskill chrome',intern=T) !!
编辑
假设您有多个同名进程。您可以使用pslist
此名称列出所有进程。根据经过的时间找到你要杀死的进程的id,然后通过id调用pskill。
例如这里我想杀死最后启动的chrome进程
my.process <- system('c:/temp/pslist chrome ',intern=T)[-c(1:8)]
my.process
[1] "chrome 3852 8 38 1052 141008 0:01:58.108 1:43:11.547"
[2] "chrome 5428 8 11 202 220392 0:02:08.092 1:43:11.359"
[3] "chrome 6228 8 9 146 73692 0:01:58.467 1:43:00.091"
[4] "chrome 6312 6 9 130 45420 0:00:08.704 1:17:30.153"
[5] "chrome 360 6 9 127 29252 0:00:01.263 0:57:01.084"
[6] "chrome 5032 6 9 126 29596 0:00:00.717 0:31:39.875"
[7] "chrome 2572 8 9 120 23816 0:00:00.452 0:19:10.307"
## ids are orderd according to the elpased time
## I use tail to get the last one
## some regular expression to get the id from the string
## mine is ugly but I am sure you can do better.
id <- substr(gsub("([^[:digit:]]*)", "", tail(my.process,1)),1,4)
system(paste('c:/temp/pskill ', id) ,intern=T)