過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/08/25
【dev】btsk で Windows コマンドをバックグラウンドで実行

 
Windows コマンドをバックグラウンドで実行する btsk コマンドの紹介。
 
このコマンドを使うことで Linux コマンドに & をつけて実行するのと同等の
環境を Windows でも再現可能となります。
 
またプロセスの擬似デーモン化も可能で、付属の管理ツールからデーモンプロセス
を管理する事が可能です。
btsk_manager
 
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秒後に
ブラウザ起動なども可能です。私の設定例。
myboot
 
Windows ログイン後、10秒後にコマンドプロンプトを立ち上げ、15秒後に
ファイラーを起動し、30秒後にブラウザを起動。
 
そして50秒後に、独自のデーモンプロセスを起動しています。
 
Windows 起動直後は重いこともあるので、本コマンドで遅延実行する事により、
日常の初回タスクを快適に起動する事ができます。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。