Скрипт для перезапуска другого скрипта

Страницы: 1
RSS
Скрипт для перезапуска другого скрипта
 
Добрый день. Никогда сам не писал на LUA, но есть скрипт который тащит за собой DLL и который постоянно и неприлично увеличивает размер используемой памяти. Подскажите, можно ли написать скрипт, который бы перезапускал первый скрипт допустим раз в день в определенное время. Буду признателен, если кто-то напишет пример, полагаю что если возможно, то это пара строчек. Спасибо
 
Цитата
Aleb написал:
Добрый день. Никогда сам не писал на LUA, но есть скрипт который тащит за собой DLL и который постоянно и неприлично увеличивает размер используемой памяти. Подскажите, можно ли написать скрипт, который бы перезапускал первый скрипт допустим раз в день в определенное время. Буду признателен, если кто-то напишет пример, полагаю что если возможно, то это пара строчек. Спасибо
Прикольно.
Написать не можете, но заранее знаете , что это пара строчек.  
 
Цитата
nikolz написал:
Написать не можете, но заранее знаете , что это пара строчек.  
Очевидно же:
1. myScript = FindScript("MyScript")
2. RestartScript(myScript)
Всегда так делаю.
 
А зачем перезапускать скрипт?
Чисто теоретически ничего не мешает в скрипте в определенное время занилить используемые переменные после чего запустить сборщик мусора.
 
Цитата
Kalmar написал:
Очевидно же:1. myScript = FindScript("MyScript")2. RestartScript(myScript)Всегда так делаю.
Спасибо большое, я и не сомневался что для тех кто пишет на LUA в quik это будет очевидно. МОжет еще подскажете, как сделать чтобы он срабатывал переодически по времени?
 
Цитата
BlaZed написал:
А зачем перезапускать скрипт?Чисто теоретически ничего не мешает в скрипте в определенное время занилить используемые переменные после чего запустить сборщик мусора
Утекает она собсвенно в dll, сам скрипт просто ее загрузчик
 
Цитата
Спасибо большое, я и не сомневался что для тех кто пишет на LUA в quik это будет очевидно. МОжет еще подскажете, как сделать чтобы он срабатывал переодически по времени?
По всей видимости, это был сарказм. Окружение терминала в рамках qlua не предоставляет методов по доступу к окну доступных скриптов lua.

Вариантов два:
-- Разобраться с утечкой памяти. Это будет единственно правильным решением.\
-- Написать некий proxy-метод в библиотеке, который будет приводить к перезапуску основной логики. И дергать его по таймеру уже из скрипта lua или прямо организовать цикличность в запуска в самой библиотеке.

Правда есть еще вариант: написать скрипт, использующий w32.dll. Найти окно доступных скриптов, виртуально нажать кнопки остановки и запуска. Для примера, как это сделано в автологинах.
 
Nikolay, Есть и четвёртый вариант: написать скрипт на чистом Lua, вообще не пользоваться никакими dll и не перезапускать скрипт никогда. Всегда так делаю. :smile:  
 
Цитата
Владимир написал:
Nikolay, Есть и четвёртый вариант: написать скрипт на чистом Lua, вообще не пользоваться никакими dll и не перезапускать скрипт никогда. Всегда так делаю. ::  
есть много готовых библиотек написанных на СИ и следовательно работающих на порядок быстрее, чем на чистом луа.
Да и сомневаюсь я что-то, что Вы сможете написать на чистом луа, например, torch7,
который написан на основе  библиотек для научных расчетов  на фортране, которые имеют обертки на СИ .
-------------------  
Библиотеки на чистом луа - это для чайников.
 
nikolz, А я не чайник - я профессионал. И как бы я ни матерился на Lua, у меня никогда не возникало ни малейших сомнений, что писать нужно ТОЛЬКО на нём. Проблем с производительностью, как я уже писал, у меня не было никогда - в отличие от регулярно плачущих здесь пользователей таких библиотек. Никакого "torch7" я писать не собираюсь, и даже не собираюсь выяснять, что это вообще такое. А в моей "библиотеке", целиком расположенной в коде моего единственного скрипта и уже много месяцев обеспечивающего возможность полноценной торговли... ща посчитаю... ровно 21 функция.
 
Цитата
Aleb написал:
Подскажите, можно ли написать скрипт, который бы перезапускал первый скрипт допустим раз в день в определенное время.

Тут все умело постебались.
Но ответ прост: возможности такой нет.
Обратитесь к автору dll, пусть устранит проблему с потреблением памяти.
Страницы: 1
Читают тему (гостей: 1)
Наверх