Время ожидания / неблокирования adb для устройств?

Есть ли способ получить тайм-аут при вызове "adb wait-for-devices"?

Сценарий:

adb reboot
adb wait-for-devices (timeout listed here - if possible)
**if times out: echo timed out**
**else**
adb root
adb wait-for-devices

2 ответа

Решение

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

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

Есть аналогичные ответы о том, как делать системные вызовы с таймаутом: /questions/19188844/kak-ya-mogu-zavershit-sistemnuyu-komandu-s-trevogoj-v-perl/19188848#19188848

В Баше

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

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

timeout 40 adb wait-for-any-device
Другие вопросы по тегам