Поддержите мой процесс - всегда - PullRequest
0 голосов
/ 08 марта 2011

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

ОБНОВЛЕНИЕ: для уточнения:Пишу программу мониторинга, что-то вроде родительского контроля, которая ведет учет того, что пользователь делает с ПК.Вы можете догадаться об этом, просмотрев мои другие вопросы недавно.
Первая потребность в такой программе - это жизнь!

Теперь, кто-нибудь поможет?

Ответы [ 3 ]

5 голосов
/ 08 марта 2011

Во-первых, не делай этого.Во-вторых, все равно не делайте этого.

В-третьих, если ваша программа оооочень крута, что она никогда не перестает работать, вы всегда можете предоставить возможность установить службу, которая запускает вашу программу и перезапускает ее, если она умирает.Но подумайте об этом долго, потому что пользователи обычно раздражаются из-за программ, которые не умрут.Вместо этого сделайте вашу программу достаточно полезной, чтобы никто не ХОТЕЛ ее остановить, и перезапустите, если она умрет.

РЕДАКТИРОВАТЬ: ОК, так что, учитывая ваше обновление ОП, давайте попробуем несколько мыслей здесь.

Необходимо рассмотреть два основных случая: если у конечного пользователя есть права администратора на машине, в общем случае вы ничего не можете сделать.То, что вы пытаетесь сделать, может быть обойдено кем-то с правами администратора.

Так что, если у пользователя нет прав администратора.Тогда пользователи не могут уничтожить произвольные процессы, запущенные пользователем root / administrator.В этом случае вы можете попытаться установить программное обеспечение как стиль демона / всегда работающий.В Windows вы должны установить как системную службу, которая автоматически запускается при загрузке.Для Solaris вы должны использовать SMF и установить автоматический перезапуск по завершении.В Linux вы можете сделать что-то вроде оболочки, принадлежащей пользователю root, которая будет перезапускать программу навсегда, если она завершится.

1 голос
/ 08 марта 2011

Нет, это невозможно. Админ всегда знает, как отключить питание.

Хорошо, теперь, когда пояснение здесь, я также добавлю несколько слов.

На самом деле я видел инструмент родительского контроля для Windows, который использовал несколько экземпляров одного и того же процесса, отслеживая друг друга, и который немедленно перезапустил бы их осложнения, если бы пользователь завершил один из них. Работало довольно хорошо - если кто-то не переключится на консоль и не убьет их достаточно быстро. Тем не менее, использование диспетчера задач было далеко, чтобы замедлить.

Конечно, подход ограничен, тем более что администратор может легко удалить записи автозапуска (чего можно избежать, т. Е. Используя несколько скрытый сервис для порождения процессов). Тем не менее, если вы не нацелены на крайне хакерских детей, это довольно эффективно.

Но, в конце концов, люди могут просто переустановить свою полную ОС, избегая при этом всех мер предосторожности, которые вы можете предпринять. Так что лучший способ - это, вероятно, спрятать свой инструмент и надеяться, что он не будет найден.

0 голосов
/ 09 марта 2011

Вы можете быть безумным.ВСЕГДА возможно убить или уничтожить «наивную» надоедливую программу.попробуй что-нибудь хорошее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...