Консультация № 175235
14.12.2009, 02:46
0.00 руб.
0 7 3
Здраствуйте, скажите пожалуйста как написать программу которая бы удаляла из памяти заранее указанные процессы ? Ну проще говоря автоматизация удаления оных вручную из диспетчера задач. Скажу сразу я в программировании весьма и весьма слаб и прошу учесть это при ответах.

Обсуждение

Неизвестный
14.12.2009, 06:56
общий
Не совсем понятно: "заранее указанные" - как? И именно надо из диспетчера удалять? Или нужен свой диспетчер процессов? Вообще задача работы с процессами (даже просто перечисление) - довольно не мелкая.
давно
Старший Модератор
17042
808
14.12.2009, 09:06
общий
Cyberstorm:
Цитата: Информация от администратора рассылки
Несмотря на то, что C и C++ являются кроссплатформенными языками программирования, в ряде случаев (например, при необходимости создать приложение с графическим интерфейсом пользователя либо с использованием системных API) эксперту может понадобиться знание целевой операционной системы. Поэтому в тех случаях, когда для Вас это имеет значение, указывайте её в тексте вопроса. В случае если Вы этого не сделали и не ответили на уточняющие вопросы в мини-форуме, по умолчанию администратор рассылки будет считать, что Вы работаете с одним из дистрибутивов Linux в графической среде KDE.


В принципе подобные программы уже написаны. Утилита pidof возвращает pid процесса по имени запустившей программы (использование: pidof programme, где programme - имя программы). Утилита kill уничтожает процесс (использование: kill number, где number - номер pid). Всё это можно объединить в одном сценарии Bourne Shell (простейший пример):

Код:

#! /bin/bash
kill $(pidof programme)


Сохраните сценарий в файл, сделайте его исполняемым командой chmod 555 и запустите. Всё! Если в Вашем дистрибутиве Linux используется другая командная оболочка, нежели bash, просто замените 1-ю строчку сценария на нужную.
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
Неизвестный
14.12.2009, 11:45
общий
это ответ
Здравствуйте, Cyberstorm!
windows? Если да, то такая программа уже написана корпорацией майкрософт. Называется taskkill.
Используется примерно так:
taskkill [/s компьютер] [/u домен\пользователь [/p пароль]]] [/fi имя_фильтра] [/pid код_процесса]|[/im имя_образа] [/f][/t]
Если нужно завершить процессы по имени, то вызывается так:
taskkill /im:имя_процесса
можно добавить /f если это не gui процессы, а например службы.
Подробности по другим ключам можно узнать из справки taskkill /?
Если нужно делать периодически, то можно поместить в планировщик.
давно
Старший Модератор
17042
808
14.12.2009, 12:48
общий
это ответ
Здравствуйте, Cyberstorm!
Linux? Если да, то в принципе подобные программы уже написаны. Утилита pidof возвращает pid процесса по имени запустившей программы (использование: pidof programme, где programme - имя программы). Утилита kill уничтожает процесс (использование: kill number, где number - номер pid). Всё это можно объединить в одном сценарии Bourne Shell (простейший пример):

Код:

#! /bin/bash
kill $(pidof programme)


Сохраните сценарий в файл, сделайте его исполняемым командой chmod 555 и запустите. Всё! Если в Вашем дистрибутиве Linux используется другая командная оболочка, нежели bash, просто замените 1-ю строчку сценария на нужную.
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
Неизвестный
18.12.2009, 14:43
общий
это ответ
Здравствуйте, Cyberstorm.
Самый простой вариант:
WinExec("taskkill.exe /f /im program.exe", SW_HIDE);
давно
Старший Модератор
17042
808
20.12.2009, 08:39
общий
Лейла:
Повторяете ответ 1-го эксперта.
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
Неизвестный
21.12.2009, 23:10
общий
Dr_Andrew:
Может быть, но у него там было "примерно", а у меня конкретный рабочий пример. Ответы взаимодополняют друг друга)
Форма ответа