Read the statement by Michael Teeuw here.
pm2 do not work after v2.8.0 Update
-
This post is deleted! -
All right, let’s get you fixed up.
If I understand you properly, when you type
pm2 status all
you get something akin to this:┌─────────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │ ├─────────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤ └─────────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
Assuming that this is the case, it sounds like pm2 needs to start watching your magic mirror process again. Clear out your pm2 logs by typing
pm2 flush
. You should be able to re-engage pm2 on the MagicMirror script like so:pm2 start /home/pi/MagicMirror/installers/mm.sh
. After it loads your mirror, save the state of pm2 by typingpm2 save
.Give that a go and report back please.
-
Thank you for your help.
But unfortunately it doesn´t work.
I cleared the logfiles and started the MM as you described. The MM also started. And so I saved the state. But after I restarted the Pi, the MM did not start automatically anymore.
PM2 status was empty
pi@raspberrypi:~ $ pm2 status [PM2] Spawning PM2 daemon with pm2_home=/home/pi/.pm2 [PM2] PM2 Successfully daemonized ┌──────┬────┬──────┬────────┬───┬─────┬────────┐ │ Name │ id │ mode │ status │ ↺ │ cpu │ memory │ └──────┴────┴──────┴────────┴───┴─────┴────────┘ Use `pm2 show <id|name>` to get more details about an app
-
@Klinge interesting error reported similar behavior
https://github.com/Unitech/pm2/issues/2006
if node or npm versions change, may need to rerun
pm2 startup
command
-
Thank you for your advice.
What exactly did I do?
I installed npm again with
sudo npm install -g pm2
Then I entered
pm2 startup pm2 start /home/pi/MagicMirror/installers/mm.sh
Der MM startete. And then
sudo pm2 flush pm2 flush pm2 save sudo pm2 save
And when I restart the PI, MM start automatically.
I do not know exactly what helped. But it works.
Thank you again :-)
-
@Klinge cool!.. thanks for the feedback
pm2 startup should have told you to execute another command. right?
on my system
odroid@odroid:~/MagicMirror$ pm2 startup [PM2] Init System found: systemd [PM2] **To setup the Startup Script, copy/paste the following command:** sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u odroid --hp /home/odroid
-
@Klinge said in pm2 do not work after v2.8.0 Update:
Then I entered
pm2 startup pm2 start /MagicMirror/installers/mm.sh
This path is wrong.
-
@sdetweil Yes, you are right
on my sytem it was
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
@bhepler Yes, you are right too.
My path above was relative, not absolute. But of course, it was wrong. I entered the absolute path. So I have improved it above :-)
-
I do have the same issue and although I managed to make MM start automatically I now have two instances and one restarts every few seconds because of the same error:
0|MagicMirror | { Error: ENOENT: no such file or directory, open 'package.json' 0|MagicMirror | at Object.openSync (fs.js:443:3) 0|MagicMirror | at Object.readFileSync (fs.js:343:35) 0|MagicMirror | at Object.<anonymous> (/home/pi/MagicMirror/js/app.js:15:32) 0|MagicMirror | at Module._compile (internal/modules/cjs/loader.js:776:30) 0|MagicMirror | at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10) 0|MagicMirror | at Module.load (internal/modules/cjs/loader.js:653:32) 0|MagicMirror | at tryModuleLoad (internal/modules/cjs/loader.js:593:12) 0|MagicMirror | at Function.Module._load (internal/modules/cjs/loader.js:585:3) 0|MagicMirror | at Module.require (internal/modules/cjs/loader.js:690:17) 0|MagicMirror | at Module.Hook._require.Module.require (/usr/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:70:37) 0|MagicMirror | errno: -2, 0|MagicMirror | syscall: 'open', 0|MagicMirror | code: 'ENOENT', 0|MagicMirror | path: 'package.json' } PM2 | App [MagicMirror:0] exited with code [1] via signal [SIGINT] PM2 | App [MagicMirror:0] starting in -fork mode- PM2 | App [MagicMirror:0] online
pi@raspberrypi:~ $ pm2 status all ┌─────────────┬────┬─────────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐ │ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │ ├─────────────┼────┼─────────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤ │ MagicMirror │ 0 │ 2.8.0 │ fork │ 2096 │ online │ 87 │ 1s │ 0% │ 30.9 MB │ pi │ disabled │ │ mm │ 1 │ 2.8.0 │ fork │ 914 │ online │ 0 │ 3m │ 0% │ 2.5 MB │ pi │ disabled │ └─────────────┴────┴─────────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
How do I:
a) fix MagicMirror startup script
or
b) make it stop from auto starting (e.g. stopping it manually via pm2 stop MagicMirror and then saving the state with pm2 save doesn’t work) -
@Ivanov_d pm2 stop 0
Then pm2 remove 0