Windows 10でLinuxを使う(その6) - cronを使ってみよう(未来編)

【連載】

にわか管理者のためのLinux運用入門

【第104回】Windows 10でLinuxを使う(その6) - cronを使ってみよう(未来編)

[2017/12/12 11:40]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

WSL(Windows Subsystem for Linux)では、少なくとも1つはコンソールウインドウが起動していないとプロセスが動かないため、cronのようなスケジュール機能を使おうとしても思ったようには動かない。動作させるならば常にコンソールウインドウをどこかで開いておき、かつ、cronを実行しておく必要がある。

そのため前回は、Ubuntuのコンソールウインドウ起動時にcronデーモンを起動するように設定を追加する方法を説明した。次のような設定を~/.profileに書き込んでおけば、最初のコンソールウインドウを起動するときに(半手動的ではあるが)cronデーモンを起動できる。

pgrep cron > /dev/null || sudo service cron start

しかし本稿執筆と同じタイミングで、Microsoftから将来的にWSLにバックグラウンドタスク機能を追加する予定だという発表が行われた。以下にMicrosoftのブログ「Background Task Support in WSL」から一部を引用するが、これはなかなか驚きの発表だ。

Starting in Windows Insiders Build 17046, WSL supports background tasks (including daemons). …略… these processes will continue running in the background even after the last console window has been closed.

出典:Background Task Support in WSL

筆者意訳:Windows Insiders Build 17046から、WSLにおいて(デーモンも含めた)バックグラウンドタスクのサポートを開始する。 …略… これらのプロセスは、たとえ最後のコンソールウインドウが終了した後でもバックグラウンドで動作を継続する。

Windows Insider Build 17046から実験的にWSLにおけるバックグラウンドタスクが利用できるようになるとされている。つまり、Windows 10にログインするタイミングでWSLが自動的に起動され指定したデーモンを起動させることができるようになるということだ。どのデーモンが対象になるのかといった細かい切り分けは今後の要望を受けて決めているようだが、cronも対象として扱われるのではないかと思う。

つまり、遅くても1年後のWindows 10アップデート以降は,タスクスケジュールにWSLのデーモンを指定できるようになる可能性があるというわけだ。

Windows 10タスクスケジュール

Windows 10タスクマネージャー

Linuxディストリビューションが採用しているサービス起動制御のプログラムとWindowsのタスクスケジュールがどのように関連を持つことになるのかは今後の開発(というかユーザーの要望)次第ということになるが、もっとシームレスに結び付く可能性もある。Ubuntu側のサービス管理システムにのっとって設定したサービスがそのままWindows 10ログオン時に起動してくるようになるかもしれない。

Microsoftは発表のなかで、「tmux」で擬似ターミナルを用意していったん接続を解除し、再び「tmux」で擬似ターミナルに接続に行くと、Linuxを使っているときのようにちゃんと再接続できるようになるという動作例を紹介している。現在のWSLではtmux自体が終了してしまうためこういうことはできないのだが、現在開発中のWindows 10ではできるようになっているという。

tmuxで作成した擬似ターミナルでhtopを動作させておく(左)。いったん終了させてから、再接続を試みる(中央)。再接続が成功する(右)/出典:Background Task Support in WSL

WSLのバックグラウンドタスク対応は、Windowsにとって大きな利点になる。これでWindowsを使いながら、これまでLinuxサーバやLinuxデスクトップを使って開発していたような作業をこなすことができるようになるからだ。Microsoftは不本意かも知れないが、Windows 10のWSLでサーバを運用することもできるようになる可能性がある。そこまでになるにはまだ足りないものも多いのだが、WindowsがLinuxサーバに対抗する材料にはなりそうだ。バックグラウンドタスクに関しては、またWSLが正式に対応した段階でくわしく取り上げたい。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
3320
2
【連載】にわか管理者のためのLinux運用入門 [104] Windows 10でLinuxを使う(その6) - cronを使ってみよう(未来編)
Microsoftから将来的にWSLにバックグラウンドタスク機能を追加する予定だという発表が行われた。今回はその辺りについて取り上げよう。
https://news.mynavi.jp/itsearch/assets_c/2017/12/Linux104_003-thumb-230xauto-16072.jpg
Microsoftから将来的にWSLにバックグラウンドタスク機能を追加する予定だという発表が行われた。今回はその辺りについて取り上げよう。

会員登録(無料)

AI人材に必要なもの
セキュリティ・キャンプ2017 - 精彩を放つ若き人材の『今』に迫る
教えてカナコさん! これならわかるAI入門
RPA入門
パスワード管理アプリの選び方
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る