在命令提示符下运行两个程序,并在延迟后终止其中一个程序

时间:2016-11-30 11:28:46

标签: batch-file

我有两个程序,都是长时间运行的代码。我想在命令提示符下并行运行它们,经过一段时间后我想杀死一个程序。如何使用批处理文件?我尝试了How to set a timeout for a process under Windows 7?给出的解决方案 解决方案是杀死命令提示符本身。 我试过了:

moniter_batch.bat

start note.py
start test.py
timeout /t 10
taskkill /im python.exe /f

note.py

import time
while True:
    print "I am ok\n"
    time.sleep(1)

test.py

import time
while True:
    print "I am ok\n"
    time.sleep(1)

我只想杀 note.py test.py 必须继续,但我的批处理文件会杀死这两个程序

1 个答案:

答案 0 :(得分:3)

尝试使用以下命令获取进程列表:

TASKLIST /V /FO "CSV" | FINDSTR note

示例输出

C:\>tasklist /v /fo "CSV" | FINDSTR note
"cmd.exe","828","Console","0","2,492 K","Running","WINXP\Person","0:00:00","C:\WINDOWS\system32\cmd.exe - note"

然后使用带TASKKILL的PID(在第二个字段中):

TASKKILL /PID 828