
タスク スケジューラでタスクを作成し、次の C# Hello World プログラムを実行しました。タスクをトリガーして完了するまで待つと、履歴でコンソール アプリケーションの実行が完了したことを確認できます。しかしスケジュールされたタスクのステータス列に、まだ実行中と表示されています。この矛盾は何でしょうか?
using System;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
スクリーンショット
答え1
根を張ってプロセスエクスプローラーCONHOST.EXE のインスタンスがまだ残っている可能性があります (つまり、コンソール アプリ用に生成されたインスタンス)。私は 1997 年以降 C コーディングを行っていません。当時は Borland C++ (つまり、.NET Framework 以前) でした。ただし、コードには明示的な戻りコードがありません。これにより、タスク スケジューラが終了を検出しないかどうかはわかりません。可能性は低いですが、試してみる価値はあります。