进程管理

pm2是一个保存在后台的进程,一个守护进程,负责处理您所有正在运行的进程。

我们将学习如何使用pm2管理进程,并探索一个关键概念:进程列表。

进程列表

进程列表是所有正在运行的应用注册的地方。

用几条命令管理您的进程列表:

  1. # start and add a process to your list
  2. pm2 start app.js
  3. # show your list
  4. pm2 ls
  5. # stop and delete a process from the list
  6. pm2 delete app

当您使用 pm2 start app.js时, 两项操作会被执行:

  • 该应用在pm2的进程列表中注册
  • 该应用在后台启动.
    进程列表中的默认名称是没有扩展名的脚本名称。使用—name-n 来改变。

常规

设置好您的进程列表后,每天的操作都会与进程名称一起完成。

  1. # kill the process but keep it in the process list
  2. pm2 stop app
  3. # start the process again
  4. pm2 start app
  5. # both stop and start
  6. pm2 restart app

可以一次性指定多个应用:

  1. pm2 restart app1 app2 app3

或者,用正则表达式来缩短:

  1. pm2 restart /app/

保存您的进程列表

您可以由以下方式保存和重新生成您的进程列表:

  1. # save your list in hard disk memory
  2. pm2 save
  3. # resurrect your list previously saved
  4. pm2 resurrect

您的进程列表保存在 $HOME/.pm2/dump.pm2

接着您可以设置一个 启动脚本,通过机器重启来自启动您的进程列表。

管理任意应用类型

pm2与其他编程语言兼容,运用这种等值关系:

  1. {
  2. ".sh": "bash",
  3. ".py": "python",
  4. ".rb": "ruby",
  5. ".coffee": "coffee",
  6. ".php": "php",
  7. ".pl": "perl",
  8. ".js": "node"
  9. }

如果没有扩展名,该应用将作为二进制文件启动。

比如要在python中启动脚本,请使用:

  1. pm2 start echo.py

如果您想指定解释器的路径,请在您的生态系统文件中操作:

  1. module.exports = {
  2. "apps" : [{
  3. name: "script",
  4. script: "./script.py",
  5. interpreter: "/usr/bin/python",
  6. }]
  7. }

本地监控

pm2本地监控

本地监控工具可让您了解每个进程的CPU使用情况,内存使用情况,环路延迟或请求/分钟:

  1. pm2 monit

下一步

日志管理

疑问?

我们一直乐于帮您解决可能遇到的问题。搜索我们的文档或查看常见问题的答案。您也可以在我们的社区论坛发布问题或评论。

原文: https://pm2.io/doc/zh/runtime/guide/process-management/