LoginSignup
12
14

More than 5 years have passed since last update.

ラズパイ起動と共にpm2でスクリプト起動

Last updated at Posted at 2018-05-07

ラズパイ3が起動したらslack-bot.jsというスクリプトをpm2で自動起動させたい

foreverでやってみようと頑張ったが、pm2でやったほうがはるかに簡単だった

前提

  • ラズパイは起動設定済み
  • npmとnodejsはインストール済み

pm2インストール

$ npm i -g pm2

まずスクリプト実行

$ pm2 start main.js --name slack-bot

--nameオプションでslack-botというアプリ名で実行できる。

名前指定したほうが絶対便利なのでオススメする

自動起動スクリプトを作成

マシンに自動的に設定された起動スクリプトを取得するには、次のコマンドを入力する必要がある。

$ pm2 startup

どうやらOSによって自動起動させる構成が違うらしく、それをpm2 startupがよろしくやってくれるようだ。

startupのログ

[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi

メッセージに、「スタートスクリプトを設定するには以下のコマンドをコピペしてね」、と出たので
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi

さっそくこのコマンドをコピペで実行してみる

$ sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi

ログの最後あたりに[DONE]と表示されていればOK

あとは起動するアプリを保持するため以下を実行する

$ pm2 save

これで設定は完了

確認としてラズパイを再起動してみる

再起動後、ssh接続して

$ pm2 list
┌───────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name  │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
├───────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ slack-bot │ 0  │ fork │ 720 │ online │ 0       │ 15m    │ 0%  │ 53.8 MB   │ pi   │ enabled  │
└───────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘

slack-botが無事に自動起動していた!

これにて任務完了

参考リンク

12
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
14