2013-05-25 55 views
0

(回答我对未来/他人的问题)。如何使用tskill杀死一个长名称的进程?

我有一个过程我想杀死的名字(在我的情况下从Pascal脚本的InnoSetup)。我的问题是,我的过程被称为MyVeryLongProcessName.exe,我没有访问taskkill(只是tskill)。

在Windows XP(嵌入式)在这种情况下,我试着用以下结果:

c:\> tskill MyVeryLongProcessName 
Could not find process: MyVeryLongProcessName 

但是,如果我改名的过程(并试图杀死它),它工作得很好:

c:\> tskill MyShortProcess 

我的问题是/如何使用tskill杀死一个长进程名的进程?

+0

请注意,Inno 5.5内置了对Restart Manager的支持,您应该在Vista +系统上使用它。但是不管操作系统如何,如果这是你的过程,那么你不应该在外部杀死它,而是发送一条消息,以优雅地关闭它。如果它不是你的程序,那么你可能不应该杀死它,因为你无法保证这样做是安全的。只要求用户关闭它并确认他们已经完成了。 – Miral

回答

2

似乎processname参数有18个字符的限制,所以对于很长的进程它只是拒绝它。因此

杀MyVeryLongProcessName.exe的解决方案是:

c:\> tskill MyVeryLongProcessN 

多了/在TSKILL参数几个字符,它只是返回没有发现错误的过程。

+0

使用Windows API,Luke ;-) – TLama