@anarbus в глобальной переменной укажите время окончания работы, и пусть каждый поток периодически проверяет, не вышло ли это время, если вышло - завершить работу. А в асинхронной функции можно установить жесткий останов скрипта, если время превышено вдвое, например. Хотя, если всё отлажено, то асинхронка и не нужна.
@nightinnnn Этот скрипт конкретно под хром(т.е аргументы для запуска у каждого браузера разные)Код нужно ещё модифицировать,но это база с которой можно начать.