Запуск приложения с диска, а не из памяти.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

красота.
поменяй строчку

Код: Выделить всё

FPSigaction(SIGTERM, @act, nil);

на

Код: Выделить всё

FPSigaction(SIGKILL, @act, nil);


а ты v1 из консоли запускаешь или щелчком мышки?

Добавлено спустя 2 часа 6 минут 24 секунды:
возвращаясь к вопрос изначальному.
а запуск свежего исполнительного файла через fpexecv БЕЗ форка не работает? (потому что запускается старый вариант программы)
Des
новенький
Сообщения: 22
Зарегистрирован: 20.07.2015 16:53:08

Сообщение Des »

скалогрыз писал(а):красота.
поменяй строчку

Код: Выделить всё

FPSigaction(SIGTERM, @act, nil);

на

Код: Выделить всё

FPSigaction(SIGKILL, @act, nil);


а ты v1 из консоли запускаешь или щелчком мышки?

Добавлено спустя 2 часа 6 минут 24 секунды:
возвращаясь к вопрос изначальному.
а запуск свежего исполнительного файла через fpexecv БЕЗ форка не работает? (потому что запускается старый вариант программы)

Я запускал прямо из под лазаруса. Однако только что попробовал запустить мышкой и все рабоает,после Application.terminate в 1 версии вторая не закрывается, спасибо
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Des писал(а):Я запускал прямо из под лазаруса.


Lazarus может показывать обрабатываемые рантайм библиотекой прерывания. Поэтому, лучше проверять вне среды.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Des писал(а):Я запускал прямо из под лазаруса. Однако только что попробовал запустить мышкой и все рабоает,после Application.terminate в 1 версии вторая не закрывается, спасибо

Хорошо.
Тогда попробуй ещё запускать обновлённую версию без форка, а напрямую через fpexecv.

Тестируй вне Лазаруса (либо в лазарусе, но запускай без отладчика)
Des
новенький
Сообщения: 22
Зарегистрирован: 20.07.2015 16:53:08

Сообщение Des »

скалогрыз писал(а):
Des писал(а):Я запускал прямо из под лазаруса. Однако только что попробовал запустить мышкой и все рабоает,после Application.terminate в 1 версии вторая не закрывается, спасибо

Хорошо.
Тогда попробуй ещё запускать обновлённую версию без форка, а напрямую через fpexecv.

Тестируй вне Лазаруса (либо в лазарусе, но запускай без отладчика)

я вообще сейчас запускаю через TProcess,все ок
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Des писал(а):я вообще сейчас запускаю через TProcess,все ок

TProcess-то как раз сделает форк. Может быть fpexecv было бы экономичнее с точки зрения системных ресурсов :)

Мораль: отладку переключения двух процессов лучше тестировать не в отладчике :mrgreen:
Ответить