2012-04-09 15 views
2

何とかC#でWindowsタスクスケジューラとやり取りできますか?WindowsタスクスケジューラC#

私のやりたいことは、私たちのサーバは時々リブートする必要があるのですが、私は単に「ハードリブート」したくありません。 したがって、タスクスケジューラでアプリケーションの現在のステータスを取得して実行中であるかどうかを確認することができれば嬉しいことです。

現在実行中の場合は、再起動アプリケーションはX分の時間をもう一度待って確認する必要があります。

まず、私の仕事からステータスを得ることはできますか?

+0

これは、より多くのPowershellのための仕事のように聞こえる... – mgnoonan

答えて

2

タスクスケジューラとのやりとりをしないでください。アプリケーションにリモーティング(またはwcf)を開いて、それがそのように動作しているかどうかを確認してください。タスクスケジューラは、起動可能な多くの方法のうちの1つに過ぎないため、実際にアプリケーションが実際に実行されているかどうかを確認するための信頼できない方法です。タスクスケジューラがタスクを開始した場合ではなく、アプリケーションが実行中であるかどうかを知りたい場合。お返事のための

Talking about communication between applications (WCF)

+0

感謝。私はこのWCFについて本当にわかりません。 これを使用することは悪い考えですか?また、他のアプリケーションが実行しているかどうかを確認してください。 Process.GetProcessesByName(processName); – KLIM8D

+0

私の頭の上から離れて、私はそれに何か問題を見ることができません。あなたが正しい道にいるかのように聞こえます。どのように実行されていると思うか、本当に重要ではありません。私が言ったように、あるプロセスがそれを開始したかどうかを確かめることができるだけに自分自身を穴を空にしたくありません。 – kemiller2002

+0

実行しているかどうかをチェックしたいアプリケーションは、タスクスケジューラによってのみ起動できますが、私はあなたのポイントを見ることができます。アプリケーションが実行されていて、タスクschelduerによって起動されていない場合、実行状態は正確ではありません。 私はプロセスソリューションに固執すると思います:) – KLIM8D

関連する問題