Bird
Raised Fist0
Node.jsframework~5 mins

PM2 for process management in Node.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is PM2 in Node.js?
PM2 is a process manager for Node.js applications that helps keep apps alive, reload them without downtime, and manage logs easily.
Click to reveal answer
beginner
How do you start an app with PM2?
Use the command pm2 start app.js to launch your Node.js app with PM2 managing it.
Click to reveal answer
beginner
What command shows the list of running processes in PM2?
Use pm2 list to see all apps PM2 is managing, their status, and resource use.
Click to reveal answer
intermediate
How does PM2 help with zero downtime reloads?
PM2 can reload apps gracefully using pm2 reload app_name, restarting processes without stopping service.
Click to reveal answer
intermediate
What is the purpose of the ecosystem.config.js file in PM2?
It is a config file where you define app settings, environment variables, and multiple app processes for PM2 to manage.
Click to reveal answer
Which PM2 command starts a Node.js app?
Apm2 start app.js
Bpm2 run app.js
Cpm2 launch app.js
Dpm2 execute app.js
How can you view all running processes managed by PM2?
Apm2 show
Bpm2 list
Cpm2 status
Dpm2 ps
What does pm2 reload app_name do?
AReloads the app without downtime
BRestarts the app with downtime
CStops the app immediately
DDeletes the app from PM2
Which file is used to configure multiple apps in PM2?
Apm2.config.js
Bpm2.json
Cecosystem.config.js
Dapp.config.js
What is one main benefit of using PM2?
ACompiling JavaScript
BWriting code faster
CCreating UI components
DManaging app processes and keeping them alive
Explain how PM2 helps keep a Node.js app running smoothly in production.
Think about what happens if your app crashes or needs updating.
You got /4 concepts.
    Describe the steps to start, monitor, and reload a Node.js app using PM2.
    Consider the basic PM2 commands for app lifecycle.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of PM2 in Node.js application management?
      easy
      A. To keep Node.js applications running and restart them if they crash
      B. To compile Node.js code into machine code
      C. To serve static files like images and CSS
      D. To replace the Node.js runtime environment

      Solution

      1. Step 1: Understand PM2's role

        PM2 is a process manager designed to keep Node.js apps alive and restart them automatically if they crash.
      2. Step 2: Compare options

        Options A, B, and C describe unrelated tasks like replacing the runtime, compiling code, or serving static files, which PM2 does not do.
      3. Final Answer:

        To keep Node.js applications running and restart them if they crash -> Option A
      4. Quick Check:

        PM2 = process manager for app uptime [OK]
      Hint: PM2 manages app uptime and restarts crashed apps [OK]
      Common Mistakes:
      • Confusing PM2 with a compiler or bundler
      • Thinking PM2 serves static content
      • Believing PM2 replaces Node.js runtime
      2. Which of the following is the correct command to start an app named app.js using PM2?
      easy
      A. pm2 run app.js
      B. pm2 launch app.js
      C. pm2 start app.js
      D. pm2 execute app.js

      Solution

      1. Step 1: Recall PM2 start command

        The correct command to start an app with PM2 is pm2 start <file>.
      2. Step 2: Verify options

        Options A, B, and D use incorrect verbs like run, launch, or execute which are not valid PM2 commands.
      3. Final Answer:

        pm2 start app.js -> Option C
      4. Quick Check:

        Start app = pm2 start [OK]
      Hint: Use 'pm2 start' to launch apps [OK]
      Common Mistakes:
      • Using 'pm2 run' instead of 'pm2 start'
      • Confusing PM2 commands with other tools
      • Typing 'pm2 launch' which is invalid
      3. Given the following PM2 command sequence:
      pm2 start app.js --name myapp
      pm2 restart myapp
      pm2 stop myapp
      pm2 delete myapp

      What is the state of myapp after these commands?
      medium
      A. The app crashed and PM2 is trying to restart it
      B. The app is stopped but still listed in PM2 process list
      C. The app is running and managed by PM2
      D. The app is removed from PM2 process list

      Solution

      1. Step 1: Analyze each command effect

        pm2 start app.js --name myapp starts and names the app. pm2 restart myapp restarts it. pm2 stop myapp stops it but keeps it listed. pm2 delete myapp removes it from PM2's list.
      2. Step 2: Determine final state

        After deletion, the app is no longer managed or listed by PM2.
      3. Final Answer:

        The app is removed from PM2 process list -> Option D
      4. Quick Check:

        Delete removes app from PM2 list [OK]
      Hint: Delete removes app from PM2 list, stop just pauses it [OK]
      Common Mistakes:
      • Confusing stop with delete
      • Assuming restart keeps app stopped
      • Thinking delete crashes the app
      4. You run pm2 start app.js but the app crashes immediately. Which PM2 command helps you see the error logs to debug the issue?
      medium
      A. pm2 status
      B. pm2 logs
      C. pm2 restart
      D. pm2 list

      Solution

      1. Step 1: Identify command to view logs

        pm2 logs shows real-time logs including errors from apps managed by PM2.
      2. Step 2: Compare other commands

        pm2 status and pm2 list show process info but not detailed logs. pm2 restart restarts apps but doesn't show logs.
      3. Final Answer:

        pm2 logs -> Option B
      4. Quick Check:

        Logs show errors for debugging [OK]
      Hint: Use 'pm2 logs' to see app errors instantly [OK]
      Common Mistakes:
      • Using 'pm2 status' to find errors
      • Restarting app without checking logs
      • Confusing 'pm2 list' with logs
      5. You want PM2 to automatically restart your app server.js whenever the file changes during development. Which command achieves this?
      hard
      A. pm2 start server.js --watch
      B. pm2 start server.js --no-restart
      C. pm2 start server.js --ignore-watch
      D. pm2 start server.js --restart-delay 1000

      Solution

      1. Step 1: Understand PM2 watch option

        The --watch flag tells PM2 to watch for file changes and restart the app automatically.
      2. Step 2: Evaluate other options

        --no-restart disables restarts, --ignore-watch disables watching, and --restart-delay adds delay but doesn't enable watching.
      3. Final Answer:

        pm2 start server.js --watch -> Option A
      4. Quick Check:

        Watch flag enables auto-restart on file changes [OK]
      Hint: Use '--watch' to auto-restart on file changes [OK]
      Common Mistakes:
      • Using --no-restart disables restarts
      • Ignoring watch disables file monitoring
      • Restart delay doesn't watch files
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard