TEMPフォルダを消されて特定のアプリが止まる問題
かれこれ10年近く、自宅や職場の防犯カメラとして、手持ちのWebカメラを動体検知で画像を残すべく
LiveCapture2 ※ というフリーソフトを活用しています (^^)
※ LiveCapture2 は、最新版は LiveCapture3(Windows10に対応)→ https://lc3.daddysoffice.com/
が、Windows7から8,10へとアップデートし、更新が進んでいくにつれて挙動がおかしくなりました。
具体的には、動体検知撮影された画像がローカルストレージにはキャプチャされているのですが、FTPサーバーにアップロードする動作だけが不定期に止まってしまうという現象が起きていたのです。
Webカメラが複数なので、処理の負荷が大きいのかとか、Webカメラ自体が古くなってきているので信号が変なのかとか、いやいや保存された画像自体は問題ないのだから、ファイアウォールの設定が問題なのかとか、いやいやいやソフトを立ち上げてしばらくは問題なくアップロードされるのだから、途中で気まぐれにデータを遮断されるというのも考え難い・・・( ;∀;)
アプリケーションを終了→再起動させるバッチ
あれこれ悩んだ挙句
”Windowsで任意のアプリケーションを簡単に再起動させる方法”
↑こちらを参考に、
---------------------------------------
@echo off
set APP_NAME=LiveCap2.exe
set APP_FOLDER=C:\Program Files (x86)\z2o\LiveCapture2\
for /f %%i in ('tasklist /fi "IMAGENAME eq %APP_NAME%" 2^>^&1') do (
if /i %%i==%APP_NAME% (
taskkill /im %APP_NAME% /f
goto ENDLOOP;
)
)
:ENDLOOP
start " " "%APP_FOLDER%%APP_NAME%"
---------------------------------------
という内容をLiveCapture2.batという名で保存して、Windowsのタスクスケジューラに登録し、1日に3回LiveCapture2を再起動させるという姑息的な手段で凌いでいました (;'∀')
しかしソフトの再起動時刻まで平然と稼働している時と、再起動してからそれほど時間経過していないのにもかかわらず画像のアップロードが止まっていたりと、挙動が安定せず、どうも気持ちが悪いので LiveCapture2 のログを調べてみると、LiveCapture2 がWindowsの一時フォルダ内に作るフォルダが見当たらないというエラーが出ています。
TEMPフォルダを覗くとそれらしきフォルダが有ったり無かったり (´・ω・`)
(ちなみにWindowsの一時フォルダは、システムの環境変数を設定変更して別ドライブに置いています)
この一時フォルダ
Windows10になってから勝手に中身を消される現象が起きているようなのです ( ;∀;)
”Windows10で、ユーザー環境変数のTEMPフォルダが消える”
これは由々しき問題です。
早速ググりまくって対処!
タスクスケジューラのDsikCleanupが悪さをしていた?!
決定的に参考になったのがこちら↓
”Tempフォルダの下のファイルが勝手に消える”
”タスクスケジュラーで、タスクスケジューラライブラリ→Microsoft→Windows→DsikCleanupから SilentCleanup を「無効」”
この手を使って数日
再起動用の.batファイルを登録したタスクスケジュールを無効化して様子を見ていますが、今のところLiveCapture2のFTPの挙動は安定しています (*^^*)
LiveCapture2 はWindowsXP上までしか対応していないのを無理にWindows10で走らせているから自業自得かと諦めかけていたので、LiveCapture2 の問題(だけ)ではないという事が分かってホッとしている今日この頃です (;´∀`)