<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Остановить скрипт при закрытии терминала]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Остановить скрипт при закрытии терминала форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 12 May 2026 20:30:29 +0300</pubDate>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message50062/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно ещё в первой строке написать:<br />
====code====
<pre>if os.clock() &#60; 5 then return end</pre>
============= <br />
			<i>05.11.2020 14:29:46, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message50062/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message50062/topic4864/</guid>
			<pubDate>Thu, 05 Nov 2020 14:29:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41018/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Есть ещё вариант, но он вам не понравится:<br />
====code====
<pre>local stopped, id

function OnStop(flag)
&nbsp;&nbsp;stopped = true
&nbsp;&nbsp;DestroyTable(id)
end

function main()
&nbsp;&nbsp;id = AllocTable()
&nbsp;&nbsp;CreateWindow(id)
&nbsp;&nbsp;SetTableNotificationCallback(id, function(t_id, msg, par1, par2)
&nbsp;&nbsp;&nbsp;&nbsp;if msg == QTABLE_CLOSE then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnStop()
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end)
&nbsp;&nbsp;repeat
&nbsp;&nbsp;&nbsp;&nbsp;sleep(16)
&nbsp;&nbsp;until stopped
end</pre>
============= <br />
			<i>07.12.2019 11:48:29, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41018/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41018/topic4864/</guid>
			<pubDate>Sat, 07 Dec 2019 11:48:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40942/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			IsRun = true<br /><br />function OnInit()<br />end;<br /><br />function main()<br />	while IsRun do<br />		if isConnected() == 0 then<br />			IsRun = false<br />		end<br />	sleep(100)<br />	end<br />end<br /><br />function OnStop()<br /> &nbsp; IsRun = false<br />end <br />
			<i>03.12.2019 12:09:21, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40942/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40942/topic4864/</guid>
			<pubDate>Tue, 03 Dec 2019 12:09:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40656/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ABeUUm4K" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/47/" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex> написал:<br />А (правильный) вариант исправления/добавления терминала уже не рассматривается в принципе? Базовая потребность - и только костылями?<br />=============<br /> <br />Если речь о том чтобы зарегистрировать пожелание, тогда Вы должны его озвучить (пожелание)<br />=============<br />Сергей, у меня нет коммерческих отношений с вашей компанией, &nbsp;я ничего ей не должен. Извините. <br />
			<i>14.11.2019 12:44:38, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40656/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40656/topic4864/</guid>
			<pubDate>Thu, 14 Nov 2019 12:44:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40655/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_NT5ROs28" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> написал:<br />А (правильный) вариант исправления/добавления терминала уже не рассматривается в принципе? Базовая потребность - и только костылями?<br /><br />=============<br /><br />Если речь о том чтобы зарегистрировать пожелание, тогда Вы должны его озвучить (пожелание) <br />
			<i>14.11.2019 12:34:05, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40655/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40655/topic4864/</guid>
			<pubDate>Thu, 14 Nov 2019 12:34:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40654/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_81egK2Ch" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /><noindex><a href="/user/47/" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex>, <br />Михаил,<br />Можно запоминать состояние stopped во внешнем хранилище.<br />Или добавить проверку на что то еще, например подключение к серверу.<br />=============<br />А (правильный) вариант исправления/добавления терминала уже не рассматривается в принципе? Базовая потребность - и только костылями? <br />
			<i>14.11.2019 12:29:47, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40654/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40654/topic4864/</guid>
			<pubDate>Thu, 14 Nov 2019 12:29:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40653/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_CgFm1PJF" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a>, <br />Михаил,<br />Можно запоминать состояние stopped во внешнем хранилище.<br />Или добавить проверку на что то еще, например подключение к серверу. <br />
			<i>14.11.2019 12:16:38, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40653/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40653/topic4864/</guid>
			<pubDate>Thu, 14 Nov 2019 12:16:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40642/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Еще одно ткскть исследование, теперь на предмет scripts.dat. Формат у него такой (си-подобный псевдокод)<br />
====code====
<pre>#pragma pack(push, 1)
// NOTE: no any padding between fields
struct scripts_dat_header_t
{
&nbsp;&nbsp;&nbsp;char magic&#91;8&#93;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // = "INFOSCRT"
&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;unknown1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // = 1 (?)
&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;unknown2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // = 1 (?)
&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;nrecords;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // = (probably the number of subsequent records)
};
struct scripts_dat_record_t
{
&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;script_path_length;&nbsp;&nbsp;&nbsp;&nbsp; // the length of the subsequent string
&nbsp;&nbsp;&nbsp;char script_full_path&#91;1&#93;;&nbsp;&nbsp;&nbsp;&nbsp;// variable length array; the full path to the script file; not zero-terminated
&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;autorun_enabled;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 1 if autorun enabled, else 0
};
struct scripts_dat_t
{
&nbsp;&nbsp;&nbsp;struct scripts_dat_header_t header;
&nbsp;&nbsp;&nbsp;struct scripts_dat_record_t records&#91;1&#93;; // variable length array
};
#pragma pack(pop)
</pre>
=============
Но использовать его из скрипта без суровых костылей все равно не получится, т.к. квик записывает этот файл ПОСЛЕ того, как наш скрипт уже прибит. То есть (попробовал) наши самостийные изменения будут им перезаписаны. Так что и тут голяк, господа. <br />
			<i>14.11.2019 02:09:21, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40642/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40642/topic4864/</guid>
			<pubDate>Thu, 14 Nov 2019 02:09:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40641/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В общем, потрейсил я, зачем квиком дергается dllhost. Судя по всему, квик подписывается на уведомления об изменении файла скрипта, и вот это и приводит к вызовам dllhost'а, ну плюс там еще несколько вызовов ради каких-то иконок из кэша. Можно просто поменять файл скрипта при открытом квике, сохранить и увидеть, как опять выскочил dllhost. При запуске и остановке, соответственно, дергается подписка/отписка. Уот так уот все прозаично. <br />
			<i>14.11.2019 00:10:19, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40641/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40641/topic4864/</guid>
			<pubDate>Thu, 14 Nov 2019 00:10:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40638/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Да. У меня в линуксе под вайном абсолютно такое же поведение (в htop смотрел). Очень хотелось бы ответ на первоначальный вопрос от разработчиков получить. <br />
			<i>13.11.2019 22:19:51, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40638/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40638/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 22:19:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40633/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Уточним наблюдения, dllhost выскакивает всякий раз при запуске скрипта кнопкой, после остановки скрипта кнопкой, после запуска квика при наличии автозапускаемых скриптов, после завершения квика с работающими скриптами. Не выскакивает при отсутствии работающих скриптов. Вывод - dllhost запускает и останавливает скрипты. Отсюда (возможно) рукой подать до некой широкой автоматизации их запуска и остановки, нужно только разобраться, что он там дергает и как. <br />
			<i>13.11.2019 20:41:41, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40633/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40633/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 20:41:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40632/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Плюс интересное наблюдение. Окно квика прячется, скрипт держит info.exe в диспетчере задач, потом он завершается и сразу выскакивает dllhost на несколько секунд. То же самое после старта квика, выскакивает dllhost и пропадает. Вопрос - а чо это он делает такое, что нельзя было из квика сделать? <br />
			<i>13.11.2019 20:20:17, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40632/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40632/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 20:20:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40631/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_muO3EPe1" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /> &nbsp;Неа, дохнет мгновенно<br />=============<br />Ссорри, поспешил, это окно квика прячется мгновенно, а скрипт таки дорабатывает, да. <br />
			<i>13.11.2019 20:14:09, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40631/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40631/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 20:14:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40630/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UFm0h9jT" href="/user/1003/" bx-tooltip-user-id="1003">Алексей Дуванов</a> написал:<br />а при закрытии терминала он 15 секунд ждёт?<br />=============<br />Неа, дохнет мгновенно и даже лог сфлашить не успевает. По ощущениям его грохают путем прибития машины луа без какой бы то ни было очистки. То есть, выходит, выше я наврал, таймаут уважают только при остановке с кнопки, да и то выжидают тупым WaitFor с таймаутом, юай виснет на время таймаута =&gt; сообщения не обрабатываются. <br />
			<i>13.11.2019 20:12:16, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40630/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40630/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 20:12:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40629/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Всё. Сдаюсь. Честно ждёт. И всё равно перезапускает. Подождем, что ответят разработчики. Даже интересно стало <br />
			<i>13.11.2019 20:06:25, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40629/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40629/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 20:06:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40627/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			да. у меня тоже приходит. соврал. а при закрытии терминала он 15 секунд ждёт? (я просто в &quot;неродной&quot; системе работаю - wine) <br />
			<i>13.11.2019 19:59:05, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40627/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40627/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 19:59:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40626/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_VYS78ZrA" href="/user/1003/" bx-tooltip-user-id="1003">Алексей Дуванов</a> написал:<br />Проделал несколько экспериментов. У меня почему то при закрытии терминала приходит только коллбэк OnClose(). Коллбэк OnStop(flag) только, если завершаешь скрипт руками. То есть вообще не приходит. Проверял, записывая в лог на диск.<br />=============<br />Странно, проверил сейчас, все приходит.<br />
====code====
<pre>local stop_state = 0
local log_file = io.open(getScriptPath() .. "&#92;&#92;stoplog.txt", "w")

main = function()
&nbsp;&nbsp;&nbsp;while 0 == stop_state do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;log_file:write("Exit main with code " .. stop_state .. "&#92;n")
end

OnS top = function(flag)
&nbsp;&nbsp;&nbsp;log_file:write("OnStop with code " .. flag .. "&#92;n")
&nbsp;&nbsp;&nbsp;stop_state = flag
&nbsp;&nbsp;&nbsp;return 15000
end
</pre>
============= <br />
			<i>13.11.2019 19:52:58, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40626/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40626/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 19:52:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40625/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Проделал несколько экспериментов. У меня почему то при закрытии терминала приходит только коллбэк OnClose(). Коллбэк OnStop(flag) только, если завершаешь скрипт руками. То есть вообще не приходит. Проверял, записывая в лог на диск. <br />
			<i>13.11.2019 19:40:53, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40625/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40625/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 19:40:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40624/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_bAYmZNYR" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />или новая функция &quot;отключить мой автостарт&quot;<br />=============<br />Но есть решение и покрасивше (как мне кажется), малость поменять OnStop следующим образом<br />
====code====
<pre>&#91;NUMBER time_out, BOOLEAN autostart&#93; OnStop(NUMBER flag)</pre>
=============
<p>и сделать логику следующей:</p><p>1) не возвращено ничего - все работает как и сейчас</p><p>2) возвращен только таймаут - все работает как и сейчас</p><p>3) возвращены таймаут и true - скрипт записывается в автозапуск (даже если завершается не в результате закрытия терминала)</p><p>4) возвращены таймаут и false - скрипт удаляется из автозапуска (даже если завершается в результате закрытия терминала)</p><p>Тогда появляется и смысл в аргументе этой функции, т.к. сейчас от него проку не наблюдается.</p><p></p> <br />
			<i>13.11.2019 19:33:09, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40624/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40624/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 19:33:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40623/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rYgEchf1" href="/user/1003/" bx-tooltip-user-id="1003">Алексей Дуванов</a> написал:<br />Но проблема в том, что терминалу нет никакого дела до возвращённой коллбеком задержки, хотя документация нам ее всячески обещает.<br />=============<br />Не согласен, терминал уважает возвращенное значение, сам использую. При описанном раскладе автостарт скриптов вообще бы не работал, бо ВСЕ скрипты завершаются таким образом, независимо от задержки. Раз уж терминал начал закрываться, он, похоже, сначала сохраняет информацию о том, какие скрипты запущены, и только потом им сигналит о выходе. Следовательно, напрашивается еще более ужасный костыль с прямой правкой scripts.dat ) Ну или новая функция &quot;отключить мой автостарт&quot;, которую можно было бы дернуть перед выходом. <br />
			<i>13.11.2019 19:07:57, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40623/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40623/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 19:07:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40621/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это тоже костыль. мой тогда даже проще и безобиднее. ТС хочет, чтобы при перезапуске КВИКа скрипт вообще никак &quot;не трогался&quot;. От слова совсем. Словно он отработал и вышел вот прям-прям перед закрытием терминала. <br /><br /><br />По идее это должно реализоваться через коллбэк OnStop(flag). Флагустаналивается == 2 при закрытии терминала. По идее надо поставить переменную, отвечающую за &quot;вечный&quot; цикл в потоке main в состояние false, и просто дождаться когда произойдет выход из этого &quot;вечного&quot; циклаи завершится скрипт. тогда он автоматом запускаться не будет. Только руками. Но проблема в том, что терминалу нет никакого дела до возвращённой коллбеком задержки, хотя документация нам ее всячески обещает. Так что терминал просто сохраняет состояние скрипта как &quot;работающий&quot; и запускает его при следующем запуске. Возможно я ошибаюсь, разумеется. <br />
			<i>13.11.2019 19:00:53, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40621/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40621/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 19:00:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40620/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ув. разработчики!<br /><br />Как нужно изменить скрипт<br />
====code====
<pre>local stopped,f

function main()
&nbsp;&nbsp;&nbsp;f = io.open("&#92;&#92;&#92;&#92;Server&#92;&#92;E&#92;&#92;1.log","w")
&nbsp;&nbsp;&nbsp;repeat
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f:write("****&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(16)
&nbsp;&nbsp;&nbsp;until stopped
&nbsp;&nbsp;&nbsp;f:close()
end

function OnStop(flag)
&nbsp;&nbsp;&nbsp;f:write(tostring(flag) .. "&#92;n")
&nbsp;&nbsp;&nbsp;stopped = true
end
</pre>
=============
чтобы скрипт завершался при выключении терминала? У меня не получилось никакими ухищрениями.<br /><br /><br />Благодарю. <br />
			<i>13.11.2019 18:54:16, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40620/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40620/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 18:54:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40619/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Занятный вопрос-то получился. Лобовое решение - если у скрипта есть файл настроек, иметь в нем флажок &quot;не запускать&quot;. Перед выходом флажок устанавливать. При старте проверять, если стоит - сразу на выход (тут у мну спрашивали, зачем колбеки переопределять по ходу дела, вот за этим можно в том числе, если флажок стоит - меняем как минимум OnInit и main на пустые заглушки). Но тогда получается билет в одну сторону, скрипт не запустится больше никогда, пока внешним вмешательством флажок не сбросят. То есть чуть сложнее - если флажок стоит, _сбрасываем_его_ и на выход. При следующем запуске (с кнопки) все будет ок. <br />
			<i>13.11.2019 18:51:53, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40619/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40619/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 18:51:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40612/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			На сколько я понимаю, ТС мягко намекает, что коллбэк <B>OnStop(flag = 2)</B> не выполняет взятых на себя обязательств по предоставлении некоторой задержки на завершение потока <B>main</B>. как это обещано в документации? <br />
			<i>13.11.2019 10:27:42, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40612/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40612/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 10:27:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40610/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это чересчур)) &nbsp;&quot;на такое я пайтить не могу.. &quot; <br />
			<i>13.11.2019 09:11:22, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40610/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40610/topic4864/</guid>
			<pubDate>Wed, 13 Nov 2019 09:11:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40601/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Костыли не рассматриваются?<br />я первой строкой скрипта пишу <br /><br />
====code====
<pre> if (isConnected() ~= 1) then return end</pre>
=============
жгучий костыль, конечно, но скрипт сразу же вываливается при запуске. <br />
			<i>12.11.2019 23:10:35, Алексей Дуванов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40601/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40601/topic4864/</guid>
			<pubDate>Tue, 12 Nov 2019 23:10:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Остановить скрипт при закрытии терминала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40600/topic4864/">Остановить скрипт при закрытии терминала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			То ли лыжи не едут....<br /><br />Как остановить скрипт при закрытии терминала, чтобы при последующем запуске терминала он вы в состоянии &quot;не запущен&quot;?<br /><br />Метод автогена с провокацией ошибки исполнения считаю недостойным для Программного Комплекса &nbsp;QUIK ))) <br />
			<i>12.11.2019 21:55:18, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40600/topic4864/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40600/topic4864/</guid>
			<pubDate>Tue, 12 Nov 2019 21:55:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
