1

Моя ситуация такая. Я хочу, чтобы скрипт запускался нажатием кнопки на моем веб-сайте (страница управления администратора). Мой веб-сервер (Linux) и выделенный ящик (Windows 2012) находятся в разных местах.


Например:

Страница веб-сервера | Ded Server
                                            |
«Перезапустить приложение» ------> ------> --- | -> -> Script_To_Restart_App



На сервере Windows 2012 не работает служба веб-сервера Windows IIS. Я предпочитаю не запускать его, так как не будет запускать веб-страницу.

Есть ли в любом случае это возможно?

Благодарю вас,

Clayton

2 ответа2

1

То, что вы предлагаете, не тривиально. Есть несколько подходов:

  1. Заставьте ваше приложение, работающее в окне Windows, прослушивать сообщения, которые сообщают ему о перезапуске. Когда появится такое сообщение, перезапустите. Есть несколько способов прослушать такое сообщение, и вы можете выбрать самый простой из них, основываясь на том, как вы создали приложение. Например, начните слушать на известном порте, и когда вы получите сообщение «перезагрузка», сделайте это. Это требует возможности изменить приложение, очевидно. Вариант этого заключается в создании другого приложения / службы, которое просто прослушивает сообщения о перезапуске и останавливает / запускает исходное приложение. Это может быть желательно, если вы не можете изменить свое оригинальное приложение или предпочитаете этого не делать.

  2. Используйте что-то в Windows, чтобы перезапустить приложение. Существуют встроенные способы (например, WMI) для перезапуска служб и, возможно, для запуска и остановки процессов. Это сложнее, потому что вы хотите сделать это из окна не из окон. Есть замечательный инструмент «psexec» http://technet.microsoft.com/en-gb/sysinternals/bb897553.aspx, который позволяет очень легко делать такие вещи удаленно, и есть версия для Linux http://steronius.blogspot. co.uk/2013/05/psexec-via-linux.html, чтобы это могло работать нормально. Это потребует не программирования, а большего количества проблем с настройкой и аутентификацией ... возможно, или это может сработать немедленно. Вы должны вызвать psexec из вашего php-скрипта с необходимыми аргументами командной строки, чтобы он перезапустил ваше приложение для Windows.

-1

Посмотрите на winexe. Это инструмент командной строки для Linux, похожий на инструмент Windows psexec. Winexe удаленно выполняет команды в системах Windows из Linux. Пакеты для winexe для нескольких распространенных дистрибутивов Linux доступны на веб-сайте openSUSE winexe .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .