@yteyyy нет, чтобы получить результат асинхронной функции нужно вызвать функцию _result() и никак иначе
BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс
-
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@Fox скрипт vbs работает отлично и запускается из bas вначале тоже отлично, только в один не очень прекрасный момент перестает запускаться. Я просто хотел узнать в чем дело и вывел текст ошибки в лог, а там какие то закодированные символы. Видимо это не связано со скриптом vbs, так как у layabdu нет vbs, а проблема та же, процесс через несколько часов перестает запускаться.
Я указал на решение именно вашей проблемы с кодировкой
-
@tet-vivi said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@Fox said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
Попробуйте руками создать батник, который выполняет необходимую работу, а в BAS запускайте этот батник
так и делаю)
Моё сообщение было адресовано автору топика, или у вас происходит та же ошибка?
-
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
У вас проблема с кодировкой, или в vbs укажите, что выводить нужно в unicode или сам скрипт сохраните в utf-8. Посмотрите в лайфхаках, я выкладывал пример работы BAS с vbs скриптом
В utf8 скрипт вообще не запускается
эхх.. Вот мне ещё объяснять как правильно сохранять код в utf-8.. Говорю же, посмотрите мой пример в теме "лайфхаки"
-
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@tet-vivi Не важно, какой процесс прописан. Он просто перестает запускаться через несколько часов.
Да, именно так!!!
Сделал тест в цикле в однопотоке запускаю:
start "" taskkill /im chrome.exe"
спать 1000
start "" "chrome.exe"
спать 5000и около 500 циклов +- хроме перестает запускаться
-
@layabdu said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@tet-vivi Не важно, какой процесс прописан. Он просто перестает запускаться через несколько часов.
Да, именно так!!!
Сделал тест в цикле в однопотоке запускаю:
start "" taskkill /im chrome.exe"
спать 1000
start "" "chrome.exe"
спать 5000и около 500 циклов +- хроме перестает запускаться
Раз у вас есть такой простой алгоритм возникновения ошибки, попробуйте создать bat файл и запускать 500 раз его. Если ошибка повторится, то попробуйте в ручную запускать этот bat файл 500 раз и проверьте, действительно ли это ошибка BAS
-
@vlad55509 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
Аналогичная проблема возникла, запускает после вызова "запустить процесс" - 480-530 раз , и далее никак не реагирует на "Запустить процесс" в PROCESS_STANDART_OUTPUT и PROCESS_ERROR_OUTPUT пусто.
Постоянно необходимо перезагружаться.Как повторить эту ошибку?
Я для теста создал батник, который выводит слово "hello"
@echo off echo "hello"
и запускаю действие "Запустить Процесс" в цикле 1000 раз с проверкой наличия слова "hello":

За 18 минут скрипт успешно завершает работу без ошибок:

Тестовый скрипт: 1847.xml
-
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@Fox Мне кажется, так ошибку не выявить, когда она появляется, действие запустить процесс просто игнорируется, а переменная останется от предыдущего успешного выполнения. Переменную вначале надо обнулить, а потом запускать процесс.


-
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@Fox Заметил следующее: ошибка появляется только если в пути или имени файла есть кириллица.
Может есть ещё какие нибудь наблюдения и детали?
-
@smeckoi77 said in BAS через какое-то время (может через час, может через 4 часа и больше) перестает запускать процесс:
@Fox Пока нет. Заменил у себя все пути с русскими буквами на английские. Работает без ошибок.
Окей, я на втором винте создал папку с русскими буквами:

В bat файле проверяю содержимое этой папки:

В BAS обнуляю переменную перед действием "Запустить Процесс" и проверяю содержимое значения на наличие слова "мысль 3", если в переменной этого текста нет, BAS выдаст ошибку:

В итоге скрипт отработал корректно:

Можете приложить содержимое действия "Запустить Процесс"? Может дело в коде..
-
@Fox есть ли решение данной проблемы?
К сожалению, не нашел зависимости появления данной ошибки. РУ пути не использую. Тестил при запуске "cd D:\Work" . Спустя неопределенное время, перестает запускать процесс. Ошибку записывает в формате "�������� ����ਯ���." Если же запускать батник напрямую, проблем нету



