python执行cmd命令,怎么让他执行Ctrl+C的效果结束命令?
我在用ping监控一个服务器的网络状态,我执行了ping命令后,他会一直这么ping下去,不停止,怎么让他在10秒后执行ctrl+c的效果
def re(cmd):
while True:
os.system(cmd);
re("ping 192.168.1.1 -t")
他会这样一直ping下去,想了半天也想不出怎么让他10秒后执行ctrl+c结束的执行效果,请教大神,怎么让他执行结束命令;
10秒后停止命令,类似执行ctrl+c的效果;
用kill就可以了
os.system 的控制力很弱的,你需要 subprocess 模組的 .kill 方法來發送訊號。
不過,只是 ping 的話,你幹嘛不讓它只 ping 10 次呢?你這是想幹嘛啊?
不知道能不能滿足你的需求
主要問題是執行的命令一直沒有返回,os.system無法確定命令是否已經執行和執行成功
如果單純的cmd命令是否可以試試
os.system('start ping www.baidu.com -t')
註冊
signal.SIGINT
訊號我試了一下,大概可以這樣寫: