2014-11-18 2 views

ответ

0

Цель этого вопроса была для автоматизации, так что я нашел временное решение, используя функцию сигнала тревоги в Perl:

sub ADB_Wait_Timeout 
{ 
    eval 
    { 
     local $SIG{ALRM} = sub { die "Timeout\n" }; 
     alarm 60; 
     system("adb wait-for-devices"); 
     alarm 0; 
    }; 
    if ([email protected]) 
    { 
     print "Device did not come up\n"; 
    } 
} 

Есть аналогичные ответы о том, как делать системные вызовы с тайм-аут: https://stackoverflow.com/a/2563551/3491654

2

в Bash,

timeout <time_in_seconds> adb wait-for-any-device 

Ex: команда ниже ожидает 40 секунд для сканирования устройств adb и возвращает код завершения команды, при успешном завершении или 124 при тайм-ауте, или выдает код команды при сбое команды.

timeout 40 adb wait-for-any-device