[System Environment] | ||||||||||||
Javaアプリケーションをログオフ中も実行させ続けるには
|
||||||||||||
|
解説 |
Javaアプリケーションを、Windowsのサービスのように利用する(バックグラウンドでずっと実行させ続ける)ためには、通常のWindowsアプリケーションとは違った配慮が必要である。一般的には、Windowsのタスクとして登録しておけば、ユーザーのログオン/ログオフとは関係なく、プログラムを実行させ続けることができるはずである。だがJavaの実行環境の仕様により、たとえタスクとして登録されたプログラムであっても、ユーザーがログオフすると実行中のJavaアプリケーションのタスクが終了してしまう。これはJavaの実行環境が、ログオフに起因するシグナルをキャッチしてシャットダウンしてしまうからだ。
Javaアプリケーションをログオン/ログオフとは無関係に、ずっと実行し続けたければ、このようなシグナルを無視するオプションを指定するとよい。Java実行環境1.3以降には「-Xrs」というオプションがあり、このオプションを付けて実行すると、ログオフ時のWindows OSによるシグナルを無視して実行を続けることができる。
操作方法 |
例えば、次のようなJavaプログラムを作成したとしよう。
※ファイル:Count.java |
これは、起動からの経過時間をファイルに出力するプログラムである。実行中は1秒ごとにカレント・ディレクトリの「count.txt」が更新される。このファイルが更新されるかどうかを確認することで、プログラムが実行中かどうかを簡単にチェックできる。
これをコンパイルし、「java Count」として実行すると、「count.txt」が作成され、1秒ごとに経過時間が書き込まれる。コマンド・プロンプトで「Ctrl+C」を押すか、ログオフするとプログラムは終了する。
では、これをログオフ中も実行させるために、タスクとして登録してみよう。こうすると、ログオン/ログオフとは関係なく、実行されるようになる。
まず、コントロール・パネルの[タスク]アイテムを開き、右クリックして表示されるポップアップ・メニュー、もしくは[ファイル]メニューの[新規]−[タスク]を選択する(コントロール・パネルをカテゴリ表示にしている場合には、[パフォーマンスとメンテナンス]の[タスク]アイテムを開く)。作成された新しいタスクに名前を付け、プロパティを開く。[実行するファイル名]は「javaw -Xrs Count」というふうに、-Xrsオプションを付けておく。その下の「開始」テキストボックスにはJavaプログラムを作成したフォルダ名を入力する。
タスクのプロパティ | |||||||||
実行プログラムの指定、実行プログラムが存在するフォルダの指定、プログラムを実行するアカウントの指定を行う。 | |||||||||
|
次に[スケジュール]タブをクリックし、タスクのスケジュールを「システム起動時」とする。
[スケジュール]タブ | |||
[スケジュール]タブをクリックし、タスクのスケジューリング方法を指定する。 | |||
|
以上の設定でタスクを登録し、コンピュータを再起動すると自動的にJavaが起動され、ユーザーがログオン/ログオフしても実行が続けられる(-Xrsオプションがないと、ユーザーがログオフすると、プルグラムが終了してしまう)。終了するには[タスクの終了]を実行すればよい。
なお、「-X」で始まるオプションは非標準であり、バージョンアップに伴って変更される可能性がある。利用の際には、あらかじめ「java -X」などでXオプションが利用できることを確認していただきたい。
この記事と関連性の高い別の記事
- セキュリティ攻撃阻止のためにWebブラウザでJavaを無効化する(TIPS)
- Windowsでログオフ中でもタスクを起動させる方法(TIPS)
- Windowsのタスクスケジューラーで数分おきにプログラムを繰り返し実行する(TIPS)
- タスクスケジューラの基本的な使い方(Windows 7/8.x/10編)(TIPS)
- タスクの設定を保存/コピーする(Windows XP/Windows Server 2003編)(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|