タスクスケジューラでPC起動時に自動的にプログラムを開始する
録画失敗の原因は俺
長岡花火も終わり、余韻に浸りながら録画鯖の録画番組を見ようと思ったところ番組が録画されていなかった。ログによると「チューナーのオープンに失敗しました」とあり、原因はすぐに判明。Spinelが起動していなかったためにEDCBが録画できなかったのだ。
そう言えばSpinelのウィンドウをバツで閉じてしまっていたな...と思い出したのに時間はかからなかった。
そもそもフォアグラウンドで動かす必要なくね?
録画鯖は起動後ログインして、各プログラムが自動起動するようにはなっていた。タスクスケジューラでスタートアップ起動をし、「ユーザーがログオンしているかどうかにかかわらず実行する」とする場合、バックグラウンドで実行されるのでウィンドウの類が表示されない。起動確認はタスクマネージャーなどで見ればよいのだが、ウィンドウが見れないのはなぁ...と嫌煙していた。
今回の事故と「そもそも予約等はメインのPCで行うからバックグラウンドでも問題ない」という観点、さらに今後UPS導入を検討して自動復旧を行う場合スタートアップ起動の方が都合がよい事もあり、タスクスケジューラで管理することにした。
タスクスケジューラでPC起動時にプログラムを開始させる
「タスクスケジューラ」を起動させ、画面右の「タスクの作成」を押す。
1. 全般
名前は何でもよい。プログラム名とかだとわかりやすい。
「セキュリティオプション」で「ユーザーがログオンしているかどうかにかかわらず実行する」にチェック。さらに「最上位の特権で実行する」にチェック
2. トリガー
新規ボタンを押し、「タスクの開始」を「スタートアップ時」にする。「有効」にチェックが入っていることを確認する
3. 操作
新規ボタンを押し、開始するプログラムを「参照」から選んでOK
4. 条件
「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックを一応外しておく
このタブは基本的にチェックされていないはず
5. 設定
「タスクを要求時に実行する」と「タスクが失敗した場合の再起動の間隔」にチェックを入れる
後はOKを押し、パスワード入力をして完了。再起動をして実行されるか確認する
「トリガー」に複数のトリガーを入れてもよい(この場合は多重起動を防ぐため「設定」の一番下が「新しいインスタンスを開始しない」になってること)し、フォアグラウンドで起動させたい場合はトリガーをログイン後にして「全般」の「ユーザーがログオンしているときのみ実行する」にチェックを入れればよい