이 우수한 페이지에 다음과 같은 기능을 발견하는 경우 비 차단 :루아 io.popen를 사용하여 주소로 ping을 실행, 핑 시간이 초과
function os.capture(cmd, raw)
local f = assert(io.popen(cmd, 'r'))
local s = assert(f:read('*a'))
f:close()
if raw then return s end
s = string.gsub(s, '^%s+', '')
s = string.gsub(s, '%s+$', '')
s = string.gsub(s, '[\n\r]+', ' ')
return s
end
내가 cmd를 = "핑 myknowngoodip으로이 기능을 실행하면 - c 1 "이면 모든 것이 좋다, 즉각 결과와 함께 돌아온다.
그러나
경우 밖으로 핑 시간 (그래서 서버 다운 또는)가 적어도 5 초 전체 프로그램에 대한 차단 나를 위해가능한 해결책 :
를 사용하여 코 루틴 (그러나 그것들을 설계하는 방법 제대로 작동 얻을 수 있습니까?)
를 사용하여 무언가를 감지 할 파일은 서면 또는 쓰기 잠금 (나는 그렇게 어떻게?)
목표는 다른 IP를 핑 (ping)하고 IP가 살아 있는지 여부를보고하는 copa (http://keplerproject.github.io/copas/) "조회"요청을 수신하는 것입니다. COPAS 위로하고, 실행하는 COPAS 작동하지 않을 지금까지 모든 도움
별도의 스레드가 전용 Lua VM과 함께 있습니까? –