Как запланировать задачу, удаленный доступ и повторный запуск исполняемого файла

#windows

#Windows

Вопрос:

Он — моя дилемма, я надеюсь, что кто-то там это сделал… Любые мнения или идеи приветствуются. Я новичок в этом, поэтому будьте осторожны..

У меня есть компьютер A, на котором должен регулярно запускаться programX (.exe), каждые 2 минуты он проверяет наличие другого файла и обрабатывает файл, если он присутствует.

На ПК B мне нужно иметь возможность останавливать и запускать программу так же, как и когда на ПК A удаленно. Также programX не разрешается повторно запускать / перепроверять существование файла, пока не завершится работа старого programX.

Оба компьютера работают под управлением Windows 7. (Это также будет использоваться на паре компьютеров с XP.)

Вопрос 1

Как мне заставить .exe запускаться каждые 2 минуты? (Планировщик задач выполняется только один раз в день, и я не хочу иметь 576 задач)

Вопрос 1.1

Как мне заставить .exe запускаться и останавливаться удаленно?

Вопрос 1.2

Как мне заставить систему распознать, что programX уже запущен и не завершен?

Ответ №1:

Вопрос 1:
Я думаю, вам лучше написать службу (всегда активную), которая запускает метод программно, используя (например) таймер.
Вопрос 1.1:
Если приложение на ПК A предоставляет класс через удаленный доступ, с ПК B вы можете запустить методы Start () и Stop () непосредственно на ПК A.
Используя удаленный доступ, вы можете создать основное приложение (называемое сервером), которое предоставляет класс (обычно с использованием интерфейсов), к которому можно получить доступ удаленно через TCP / UDP / каналы с локального хостинга или Интернета.
Взгляните на этот пример: это только первый, который я нашел при поиске «Пример удаленного взаимодействия с C #» в Google, но вы можете найти сотни.
Для ваших нужд служба на ПК A (см. Вопрос 1) может предоставлять через удаленный доступ класс, который может запускать / останавливать другое приложение, которое вы запускаете на ПК A.

Вопрос 1.2:
На ПК A вы могли бы использовать мьютекс (например)

Комментарии:

1. Довольный мьютексом 1 и 1.2 отлично подходит для того, что мне нужно. Но 1.1 что вы подразумеваете под «предоставляет класс» или любую ссылку, пожалуйста.

2. @icecurtain: взгляните на мой отредактированный пост по вопросу 1.1. Надеюсь, теперь это более понятно; если нет, скажите мне.

3. @icecurtain: Я предполагаю, что вы разрабатываете на C #, не так ли?