2012-05-01 2 views
2

나는 루아 스크립트를 작성 중이며,^C로 끝날 때까지 에코 정보를 유지하는 두 개의 쉘 명령을 실행해야한다.루아와 os.execute return

이것은 os.execute가 오지 않는 리턴 코드를 기다리고 전체 스크립트를 고정시키기 때문에 쓸모가 없음을 의미합니다. 이 작품을 만드는 방법에 대해 알고 있습니까? 좋은 해결책은 os.execute가 어떤 값을 반환 할 필요가 없기 때문에 명령을 전송하고 계속 진행할 수 있지만 이것이 가능하지 않다고 생각합니다. 또 다른 것은 멀티 스레딩으로, 나는 그것을 작동시킬 수 없었습니다.

또한^C 또는 lua 메서드를 사용하여 두 무한 루프를 모두 중지 할 수 있어야합니다. 이 스크립트는 Lua 5.1.4를 사용하여 iPhone (iOS 5.0.1/root)에서 실행 중입니다.

답변

2
os.execute('yourcommand&') 

그러면 백그라운드에서 명령을 실행하고 즉시 Lua 스크립트로 돌아갑니다.

더 정교한 프로세스 제어가 필요한 경우 원시 코드로 작성하려고합니다.

+0

이것은 잘 작동하는 것 같지만 이것에 대한 또 다른 해결책을 발견했습니다. io.popen ("command")은 다른 창에서이 명령을 실행합니다. 둘 모두의 유일한 문제점은 각 명령에 대해^C를 한 번만 누르고 한 번만 눌러야한다는 것입니다. 그들은 단지 두 살 때까지 정말로 중요하지 않습니다. – DaKnOb