擅长:python、mysql、java
<p>据我所知(我承认这并不全面),<code>pm2</code>是一个专门为<code>node.js</code>脚本开发的流程运行器/监视器/管理器。在</p>
<p>虽然使用pm2管理<code>python</code>进程似乎是可能的,但我从未听说过有人这样做。在</p>
<p>对于您的问题,您可以通过检查<code>~/.pm2/logs</code>的内容来发现失败的原因,这是pm2记录其运行时信息的地方。(上面的<code>~</code>引用您的主目录。)</p>
<p>由于您可以自行运行脚本,我认为您可能遇到了文件路径问题。要进行筛选,请使用以下命令创建一个名为<code>pm2-test.js</code>的脚本:</p>
<pre><code>console.log(JSON.stringify(process.env, null, 2))
</code></pre>
<p>使用<code>pm2 ./pm2-test.js name "test"</code>运行此程序</p>
<p>然后运行<code>pm2 log test</code>,它将把<code>pm2-test</code>的输出日志打印到控制台。(您将需要<code>CTRL-C</code>来停止此操作,因为它设计为在新日志条目出现时不断地流式传输)</p>
<p>请特别注意与<code>PATH</code>相关或包含<code>cannot locate</code>或{<cd13>}等文本的任何错误。在</p>
<p>记住<code>pm2 delete test</code>将该过程从pm2的管理中删除。在</p>
<p>如果这两个日志没有为您提供足够的信息来解决问题,您可以尝试使用另一个进程监视器。在</p>
<p>有几个用<code>python</code>编写的进程监视器可以通过Google找到。在</p>
<p>由于我对它们都没有经验,而且我倾向于使用专门针对手头问题编写的工具,我建议使用<a href="https://mmonit.com/monit/" rel="nofollow noreferrer">^{<cd16>}</a>,这是一个通用的流程管理器/监视器,易于设置,非常稳定,并且有许多可用的示例配置。在</p>