
私の状況は次のとおりです。Web サイト (管理コントロール ページ) のボタンを押してスクリプトを実行したいと考えています。Web サーバー (Linux) と専用ボックス (Windows 2012) は別の場所にあります。
例:
Web サーバー ページ | Ded サーバー
|
'アプリの再起動' ------>------>---|-->->Script_To_Restart_App
Windows 2012 サーバーは、Windows Web サーバー サービス IIS を実行していません。Web ページを実行する予定がないので、実行しない方がよいでしょう。
とにかくこれは可能ですか?
ありがとう、
クレイトン
答え1
あなたが提案していることは簡単なことではありません。いくつかのアプローチがあります:
Windows ボックスで実行中のアプリが、再起動を指示するメッセージをリッスンするようにします。そのようなメッセージを受け取ったら、再起動します。そのようなメッセージをリッスンする方法はいくつかあり、アプリの構築方法に基づいて最も簡単な方法を選択できます。たとえば、既知のポートでリッスンを開始し、「再起動」というメッセージを取得したらそれを実行します。当然、これにはアプリを変更する機能が必要です。これのバリエーションとして、再起動メッセージをリッスンして元のアプリを停止/開始するだけの別のアプリ/サービスを構築する方法があります。元のアプリを変更できない場合、または変更したくない場合は、この方法が望ましい場合があります。
Windows の何かを使用してアプリを再起動します。サービスを再起動したり、プロセスを起動および停止したりするための組み込みの方法 (例: WMI) があります。これは、Windows 以外のボックスから実行する必要があるため、より困難です。優れたツール「psexec」があります。http://technet.microsoft.com/ja-jp/sysinternals/bb897553.aspxリモートでそのようなことをするのは本当に簡単です。Linux版もありますhttp://steronius.blogspot.co.uk/2013/05/psexec-via-linux.htmlそれでうまくいくかもしれません。プログラミングは必要ありませんが、構成と認証をいじる必要があります... おそらく、またはすぐに機能するかもしれません。PHP スクリプトから psexec を呼び出して、必要なコマンド ライン引数を指定し、Windows アプリを再起動します。
答え2
winexe を見てください。これは Windows ツール psexec に似た Linux 用のコマンドライン ツールです。winexe は Linux から Windows システム上のコマンドをリモートで実行します。いくつかの一般的な Linux ディストリビューション用の winexe パッケージは、次の場所から入手できます。openSUSE winexe パッケージWebサイト。