杀死Thread ruby??中的系统进程
发布时间:2020-12-17 02:39:24 所属栏目:百科 来源:网络整理
导读:我如何在 ruby Thread中杀死ping(或其他非常非常长的没有超时等系统进程)(ping – 这只是一个简单的例子): a = Thread.new do system 'ping localhost'enda.killa.exita.terminatewhile true sleep 5 p a.alive?end 输出:= PING localhost.localdomain (12
我如何在
ruby Thread中杀死ping(或其他非常非常长的没有超时等系统进程)(ping – 这只是一个简单的例子):
a = Thread.new do system 'ping localhost' end a.kill a.exit a.terminate while true sleep 5 p a.alive? end 输出:=> PING localhost.localdomain (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost.localdomain (127.0.0.1): icmp_req=1 ttl=64 time=0.023 ms .... true 64 bytes from localhost.localdomain (127.0.0.1): icmp_req=7 ttl=64 time=0.022 ms ..... true ...... 所以我需要用Thread停止ping进程,但我不知道该怎么做. 解决方法system 不给你pid.
请改用 例如: pid = Process.spawn('ping localhost') sleep 3 Process.kill(:TERM,pid) Process.wait(pid) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |