Windows コマンドをバックグラウンドで実行する btsk コマンドの紹介。
このコマンドを使うことで Linux コマンドに & をつけて実行するのと同等の
環境を Windows でも再現可能となります。
またプロセスの擬似デーモン化も可能で、付属の管理ツールからデーモンプロセス
を管理する事が可能です。
Windows の正式デーモンは「Windows サービス」として提供されているのですが、
サービスに登録するまでも無い一時的なデーモンプロセスに最適です。
擬似デーモン化を行うとウィンドウを所持して無い状態になるので、概念的には
Linux のデーモンと同等です。「ウィンドウが見えない」ではなく "無い" のが
ポイントです。
さて Poweshell 2.0 ではコマンドレットの start-job を使うと、バックグランド
としてコマンドを実行する事ができます。
Start-Job -ScriptBlock {
Start-Sleep -second 10; Write-Host "10秒経過"
} Receive-Job -id 1
上記のようにすることで 10秒後に能動的に結果を取得することができます。
btsk コマンドでは 受動的 に受け取る事ができます。
btsk --delay 10 --task echo "10秒経過"
標準のコマンドプロンプトから確認する事ができます。
標準入力、標準出力、標準エラー出力のリダイレクトも可能で、リダイレクトには
「親」「新しいコンソール」「NULデバイス」「ファイル」
とそれぞれ設定可能です。
本コマンドは強力なバックグラウンドツールですが、付属の to_daemon.bat を
参照すると、デーモンとしても利用な事がわかります。
スタートアップに bat ファイルを設置する事でWindows 起動後、30秒後に
ブラウザ起動なども可能です。私の設定例。
Windows ログイン後、10秒後にコマンドプロンプトを立ち上げ、15秒後に
ファイラーを起動し、30秒後にブラウザを起動。
そして50秒後に、独自のデーモンプロセスを起動しています。
Windows 起動直後は重いこともあるので、本コマンドで遅延実行する事により、
日常の初回タスクを快適に起動する事ができます。
0 コメント:
コメントを投稿