TProcess: trouble of kill

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

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

Ответить
Аватара пользователя
sunjob
постоялец
Сообщения: 180
Зарегистрирован: 12.01.2011 14:19:54

TProcess: trouble of kill

Сообщение sunjob »

TProcess: trouble of kill

день добрый.

исходная идея "проекта" - запуск "процесса", выхлоп приложения в текстовое поле и... желательно в отдельном потоке.
пока как-то не очень удачно :о)

TProcess выполняется в процедуре.
нужно иметь возможность "прекратить работу процесса", в любое время.
сам процесс (как-то работает) но попытка сделать abort не увенчалась, процесс заканчивает "сам по себе".
схемо/код упрощен, но, надеюсь, смысл понятен.

кидайте любые идеи, ссылки, чтив, помидоры, буду разбираться.

исходные
- linux / slaclware 14.2
- fpc 3.2.2
- lazarus 3.8.0 / gtk/qt4/5/

спасибо.

p.s.
наборосал мини-вариант, разбираюсь, проявились еще более непонятные "особенности" работы с "командами/консолью"
как что-то еще нащУпаю - дополню.

!!! пока удалил код примера !!!
уточню детали, дополню топик
Последний раз редактировалось sunjob 13.02.2026 03:49:04, всего редактировалось 5 раз.
Seenkao
энтузиаст
Сообщения: 578
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

поставить в очередь на удаление?
Аватара пользователя
sunjob
постоялец
Сообщения: 180
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

сначало засомневался, что понимаю совет (или не разбираюсь в теме), задал вопрос ии:
Концепции «поставить в очередь на удаление» у TProcess не существует. Процесс не файл и не объект БД.

Исходя из ваших прошлых сообщений (fpKill не срабатывает, Process.Active := False не помогает), проблема не в синтаксисе, а в том, что сигнал не доходит или PID уже невалиден
а какую концепцию имели в виду вы?
Аватара пользователя
Alexander
энтузиаст
Сообщения: 881
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Если TProcess не принципиален, то может быть popen ? А чтобы управлять запуском/остановкой отделить его в thread.
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 567
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

sunjob писал(а): 12.02.2026 23:35:21 TProcess выполняется в процедуре.
нужно иметь возможность "прекратить работу процесса", в любое время.
сам процесс (как-то работает) но попытка сделать abort не увенчалась, процесс заканчивает "сам по себе".
Несколько сумбурно и не очень понятно. Пример нужен)
sunjob писал(а): 13.02.2026 00:18:52 Исходя из ваших прошлых сообщений (fpKill не срабатывает, Process.Active := False не помогает), проблема не в синтаксисе, а в том, что сигнал не доходит или PID уже невалиден
PID берется из TProcess.ProcessID? Надо смотреть как запускается процесс. Вполне возможно что процесс не один и завершать надо дочерний или группу процессов. Код надо смотреть)
Ответить