Завершить программу (TerminateProcess)

Ответить
Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Завершить программу (TerminateProcess)

Сообщение Alex » Вс июл 08, 2007 10:16 am

Миссия действия:
Завершение работы указанного процесса. При завершении процесса все открытые на текущий момент в программе документы не сохраняются и могут потерять введенные с момента последнего сохранения данные. Это имеет отношение к таким программам как Word, Блокнот, но не имеет к программам, не открывающим документы, например к Калькулятору.

Поля на форме:
Наименование программы - Имя программы можно ввести вручную или выбрать из списка запущенных в настоящий момент программ. Также можно найти файл процесса после нажатия кнопки с папкой.
Использовать полный путь к программе - При использовании данной опции будет учитываться полный путь к программе и процессы, имеющие одно название, но запущенные из разных папок, будут отличаться.
Время ожидания (с.) - Это время ожидания получения доступа к процессу перед завершением. В большинстве случаев можно оставлять значение по-умолчанию 0.
PID - Идентификатор процесса. Если задан идентификатор процесса, то имя программы задавать не обязательно. PID процесса можно узнать из действия RunProcess.


Результирующие параметры:
Success - Результат выполнения действия, успешно или нет завершен процесс;

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Вт апр 15, 2014 3:14 pm

Не, мужики! Так дело не годится... А как завершить задачу нормально, т.е. чтобы нормально (по возможности) закрывались все открытые ею файлы, например - логи?? Сперва выполнять действия по закрытию этих файлов?? Но ведь тогда надо знать их handle-s... Не аккуратненько!!..

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Чт апр 17, 2014 1:47 am

мужик, прости нас! дюже с дуба рухнули, мозгов недостаточно осталось

что же это за процесс такой, что открывает файлы? неужто открытие этих файлов не порождает другой, посторонний процесс?
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Чт апр 17, 2014 11:18 am

Во-первых, речь шла не о процессе, а о задаче, которая, согласен, может запускать несколько процессов...

Во-вторых, запущенная задача в диспетчере показывает только собственный (одноименный) процесс... Может конечно есть скрытые процессы типа svchost запущенные от локального сервиса, но как узнать какие из них относится к задаче-родителю?? И кокой из них связан с обслуживанием файловой системы - тех же пресловутых логов??

В-третьих, в мануале упоминаются подобные задачи типа NotePad, которые создают/открывают файлы, но видимо не сохраняют изменения в них при завершении процесса из xStarter!! В то же время если такие задачи закрывать штатным образом (через закрытие окна - крестиком), то файлы сохраняются (может быть с использованием специального подтверждения, но это необязательно).

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Чт апр 17, 2014 11:43 am

что-то я запутался... о какой задаче идёт речь: об одной из тех, что создаются в xStarter и которые при желании можно запустить в отдельном процессе, или же о задаче операционной системы, которую можно увидеть в диспетчере задач в виде процесса?
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Чт апр 17, 2014 4:41 pm

Речь о задачах ОС, которые внутри себя могут создавать/модифицировать некие файлы с помощью отдельных процессов или без таковых. В моем случае есть некая программа, внутри которой скорее всего запускается некий процесс или отдельная задача (один хрен в диспетчере задач его явно не видно), которая и создает нужные мне логи.
Однако, если родительскую программу закрыть автоматом из xStarter (есть в нем такая задача), то эти нужные логи не сохраняются... Если же эту же программу закрыть вручную (щелкнув крестик в ее окне), то все логи сохраняются...
Но тогда спрашивается на кой ляд нужна задача в xStarter для автоматического завершения задачи ОС без сохранения сделанных ею записей????

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Чт апр 17, 2014 4:52 pm

при закрытии вручную логи также закрываются автоматом (с сохранением)? нельзя ли сохранить логи отдельным действием?

если на первый вопрос ответ положительный, тогда вместо сабжа используй действие "Послать нажатия клавиш" с комбинацией Alt+F4. если в это время основное окно процесса не активно, предвари последнее действие действием "Команда окну" из раздела "Окна"
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Чт апр 17, 2014 5:28 pm

И тогда уже действие TerminateProcess не надо программировать в xStarter?

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Чт апр 17, 2014 5:29 pm

И тогда уже действие TerminateProcess не надо прописывать в xStarter?
Но ведь за обработку Alt+F4 отвечает какой-то процесс в системе, нельзя его напрямую вызвать?

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Чт апр 17, 2014 8:45 pm

да, уже не надо будет

Alt+F4 - системное сочетание клавиш, закрывающее активное окно и эквивалентное нажатию левой кнопки мыши по красной кнопке с белым крестиком в правом верхнем углу этого окна. никаких новых процессов оно не вызывает, насколько я знаю, использует текущий системный процесс explorer.exe, отвечающий за работу проводника Windows и рабочего стола :-)
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Пт апр 18, 2014 6:52 am

Стало быть и надо вызывать этот Explorer, передавая ему параметр типа имени и номера окна... :?

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Пт апр 18, 2014 12:16 pm

для закрытия твоей программы вместе со всеми логами достаточно нажатия на кнопку с крестиком? тогда просто попробуй предложенный способ - гадать не придется
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

userdummy
Пассажир
Сообщения: 10
Зарегистрирован: Вт апр 15, 2014 3:09 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Завершить программу (TerminateProcess)

Сообщение userdummy » Пт апр 18, 2014 6:43 pm

Я нашел промежуточное решение: вместо посылки комбинации клавиш Alt+F4 выполняю для нужного окна три последовательных действия "Восстановить", "Фокусировать", "Закрыть". Последнее действие с дополнительной опцией завершения приложения. Полагаю, что и второе действие избыточно, ибо при восстановлении окна оное и так получает фокус. Но на случай если окно не свернуто, команда фокусирования может быть полезной. 8)

Не вижу кнопочки или окошечка, куда нужно прокричать СПАСИБО...

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Пт апр 18, 2014 7:05 pm

тоже хороший вариант, про него я и не подумал почему-то :-) кнопки "Спасибо" (Thanks) в этом разделе форума, видимо, не предусмотрено. Алекса, создателя всея xStarter, можно поблагодарить так
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Завершить программу (TerminateProcess)

Сообщение adept » Вт апр 14, 2020 6:20 pm

userdummy писал(а):
Пт апр 18, 2014 6:43 pm
..выполняю для нужного окна три последовательных действия "Восстановить", "Фокусировать", "Закрыть". Последнее действие с дополнительной опцией завершения приложения. Полагаю, что и второе действие избыточно..
более того, первое действие тоже избыточно .)
действие "Команда окну" из раздела "Окна" с параметром "Команда" со значением "Закрыть" позволяет закрывать окна в любом состоянии
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

Ответить