次の手順では、node.js * ファイル (まばたきのサンプル) のシステムサービスを作成する方法を示します。その後、ブート時にサービスを開始できます。
この例では、blinkjs というシステムサービスを作成します。このサービスは、ブート時に、 Arduino* 向けインテル® Edison キット で点滅するサンプルを実行します。GitHub では、JavaScript のまばたきのサンプルを見つけることができます。
node.js のサービスファイルを作成するには、次の手順を実行します。
/etc/system/system/ディレクトリにサービス拡張を指定して、サービスファイルを作成し、名前を付けます。
ルート @ MyEdison:〜 # vi blinkjs. サービス/etc/systemd/system
ファイル内に次のコンテンツを配置し、サービスのニーズを満たすように変更します (コメントは含まれません)。
ユニット]
説明 = 点滅 JavaScript //Brief システムサービスの説明
サービス]
ExecStart =/usr/bin/node
再起動 = 常に//Service は、正常に終了したかどうかにかかわらず、シグナルによって異常終了したか、タイムアウトになったかに関係なく再起動されます。
環境 = NODE_PATH =/usr/lib/node_modules //Path をコマンドのバイナリにする
インストール]
WantedBy = マルチユーザー。ターゲット
サービスを開始するには、 systemctl startコマンドを使用します。
ルート @ MyEdison:~ # systemctl 開始 blinkjs サービス
blinkjs. サービス: ノード js を使用した JavaScript の点滅
ロードされた: ロードされた (/etc/systemd/system/blinkjs.service; 無効)
アクティブ: アクティブ (実行中) 水曜日から 2015-08-05 17:44:45 UTC;137ms 前
主 PID: 400 (ノード)
CGroup:/system.slice/blinkjs.service
+-400/usr/bin/node/home/root/blink.js
8月 05 17:44:45 edison1_ww 25.5 systemd [1]: node.js を使用した JavaScript の点滅を開始しました。
システムサービスの状態を確認するには、 systemctl statusコマンドを使用します。
ルート @ MyEdison:~ # systemctl ステータス blinkjs サービス
ブート時にサービスを開始できるようにするには、 systemctl enableコマンドを使用します。
ルート @ MyEdison:~ # systemctl を有効にする blinkjs. サービス
サービスファイルに変更が加えられたときにシステムサービスを再起動するには、 systemctl デーモン-再読み込みコマンドを使用します。
ルート @ MyEdison:~ # systemctl デーモン-リロード