ログインしているユーザーがいなくてもスケジュールされたタスクを実行し続けるにはどうすればよいですか(Windows XP)。


0

私は温度ロガープログラムを書き、それをWindows XPのスケジュールされたタスクとして入力しました。

これまでのところ、私はこの目的を達成することができました:
1.誰かがログインする前でもタスクを実行できるようにする

しかし、私はこれらに問題があります:
1.ログインしてログアウトしてから再びログインすると、スケジュールされたタスクはアクティブではなくなります。タスクマネージャの[プロセス]タブには表示されなくなりました。ログアウトすると閉じられると思います。
2.タスクの "名前を付けて実行..."プロパティを DOMAIN\my-username そしてまた試してみました SYSTEMしかし、上記の問題#1はまだ解決しません。

概要:
Windowsがアクティブである限り、私のプログラムを実行したいです。

編集1:
私のプログラムは実際にはPythonスクリプトです。そのため、Scheduled Tasksのコマンドラインは次のようになります。

C:\Python26\pythonw.exe "C:\path\to\templogger.py"

ローカルのパブリックフォルダ内のファイルにデータを書き込みます(たとえば、ローカルにログインするすべてのユーザーが完全にアクセス可能)。

回答:


3

これに対する最善の方法は、サービスとして実行することです。あなたはおそらくそれを使用するだけでそれを回避することができます Sc.exe


これに追加するには:はい、私はサービスとしてそれを書くでしょうが、私はまだ単にサービスの開始や停止を制御するためにスケジュールされたタスクを使うでしょう。
Joel Coehoorn

サービスとして書かないようにできますか?私はWindowsサービスとしてプログラムを書くことについて何も知りません。私のプログラムはPythonスクリプトです。見る 編集1 上記。
Kit

とても簡単です。まず、Windowsリソースキットに付属のsrvany.exeが必要です。次に、フリーウェアまたはコマンドラインを使ってサービスを作成します。その後、そのサービスのレジストリに追加します。 Iveは、pythonスクリプトのヘッドフォン、シックベード、またはouchpotatoをWindowsサービスとして実行するためにこれを行う必要がありました。
crosenblum

NSSM( nssm.cc )srvany.exeよりも優れています。私はそれが問題なくサービスとしてpythonスクリプトを実行するのに使用しました、ちょうどあなたのパスが正しいことを確認してください。
LawrenceC

3

ユーザーに "バッチジョブとしてログオン"および "サービスとしてログオン"権限を付与してみましたか?


リソースキットのntrights.exeは、私が間違えていなければ、アカウントにこの特権を与えることができます。
LawrenceC

1
これを質問として表現するのではなく、答えとしてもっと表現する必要があります。
James Mertz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.