PM2: Jak uruchomić skrypt działający w tle

Opublikowano: 15.04.2021 - tagi: PM2 Skrypt Komenda NodeJS Narzędzie Serwer Proces npm

Od dłuższego czasu korzystam z narzędzia do zarządzania procesami na swoim serwerze o nazwie: PM2 Służy to na: uruchomienie skryptów działających w tle, monitoring procesów lub podgląd logów i wiele więcej.

W tym wpisie opisuję podstawy które wystarczą do korzystania z tego narzędzia.

Instalacja

Żeby zacząć pracę z PM2 wystarczy uruchomić komendę(tutaj podaję przykład instalacji za pomocą npm):

npm install pm2 -g

Podstawy

Poniżej przedstawiam listę przydatnych komend na początek:

Wyświetlenie listy uruchomionych procesów

pm2 list

Z racji że aktualnie nie mamy żadnego działajacego skryptu lista ta będzie pusta.

Uruchomienie skryptu

pm2 start some-script.sh

Bonus: jak uruchomić skrypt z pliku package.json(npm)? Załóżmy że mamy plik package.json o takiej treści:

...
"scripts": {
  "server-start": "NODE_ENV=prod node server/server.js"
},
...

I chcemy uruchomić skrypt o nazwie server-start piszemy:

pm2 start npm --name "my-script" -- run server-start

Co tutaj się dzieje? Po pierwsze informujemy pm2 że chcemy uruchomić skrypt i że znajdzie go w pliku: package.json. Następnie nadajemy naszemu procesowi nazwę: my-script na końcu wskazujemy który skrypt z pliku package.json chcemy uruchomić.

Inne pomocne komendy

PM2 dysponuje całą listą komend poniżej znajdziesz listę kilku innych pomocnych wywołań. Przy niemal każdej z poniższych komend możemy podać id lub nazwę(którą podaliśmy, w trakcie uruchomienia skryptu) procesu.

Żeby zatrzymać proces piszemy:

pm2 stop name | id

Usunięcie procesu z listy(jeśli proces jest uruchomiony, to zostanie także zatrzymany):

pm2 delete name | id

Restart procesu:

pm2 restart name | id 

Żeby pobrać całą listę dostępnych komend wystarczy wywołać:

pm2 --help