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