# pm2

***

**1. Start a New Application**

```js
pm2 start app.js
```

**2. Start Multiple Applications**

```js
pm2 start app1.js app2.js app3.js
```

**3. Start an Application with Environment Variables**

```js
pm2 start app.js --env production
```

**4. Start an Application with a Custom Name**

```js
pm2 start app.js --name my-app
```

**5. Start an Application in Cluster Mode**

```js
pm2 start app.js -i 4
```

**6. Start an Application with a Specific Port**

```js
pm2 start app.js -p 3000
```

**7. Start an Application with Auto-Restart**

```js
pm2 start app.js --watch
```

**8. Start an Application with Cron Scheduling**

```js
pm2 start app.js --cron "0 0 * * *"
```

**9. Start an Application with Log File**

```js
pm2 start app.js --log /path/to/log.txt
```

**10. Stop an Application**

```js
pm2 stop app.js
```

**11. Stop All Applications**

```js
pm2 stop all
```

**12. Restart an Application**

```js
pm2 restart app.js
```

**13. Restart All Applications**

```js
pm2 restart all
```

**14. Reload an Application (without Restart)**

```js
pm2 reload app.js
```

**15. Reload All Applications**

```js
pm2 reload all
```

**16. Delete an Application**

```js
pm2 delete app.js
```

**17. List All Running Applications**

```js
pm2 list
```

**18. Show Application Status**

```js
pm2 status app.js
```

**19. Get Application Logs**

```js
pm2 logs app.js
```

**20. Get Application Metrics**

```js
pm2 metrics app.js
```

**21. Create a Process File**

```js
pm2 save
```

**22. Load a Process File**

```js
pm2 load /path/to/process.json
```

**23. Update an Application**

```js
pm2 update app.js
```

**24. Scale an Application**

```js
pm2 scale app.js -i 10
```

**25. Manage Applications via API**

```js
const pm2 = require('pm2');

pm2.connect((err) => {
  if (err) {
    console.error(err);
    process.exit(1);
  }

  // Start an application
  pm2.start({
    script: 'app.js',
    name: 'my-app',
  }, (err, apps) => {
    if (err) {
      console.error(err);
      process.exit(1);
    }
  });

  // Stop an application
  pm2.stop('my-app', (err) => {
    if (err) {
      console.error(err);
      process.exit(1);
    }
  });

  // List all running applications
  pm2.list((err, apps) => {
    if (err) {
      console.error(err);
      process.exit(1);
    }
    console.log(apps);
  });
});
```
