找不到在 Amazon EC2 服务器上启动的 Cron 启动的进程

找不到在 Amazon EC2 服务器上启动的 Cron 启动的进程

在我的远程 Amazon EC2 实例上,我安排了一个 Cron 作业,每小时运行一次程序。该程序运行大约需要 55 分钟,并在启动和停止时向我发送电子邮件。

它一直运行良好,但最近似乎程序突然开始花费更长的时间(“结束电子邮件”在开始电子邮件后超过 55 分钟到达)。这也意味着可能有多个进程同时运行。我想通过查看当前正在运行的所有进程来确认这一点 - 但由于某种原因,当我输入“ps”时,仅显示两个进程:bash 和 ps 命令本身。

知道为什么进程没有在 ps 中显示吗?我怎样才能找到他们?我再次通过 SSH 连接到我的 Amazon EC2 实例 - 不确定这是否会影响显示哪些进程。

非常感谢!

答案1

您必须使用一些标志来显示所有进程,包括在后台启动的进程(root例如ps aux,以及grep您的进程名称)。

  • -a:显示有关其他用户进程以及您自己的进程的信息
  • -u:显示属于指定用户名的进程

查看man ps更多信息。

答案2

根据其他用户的建议,我需要向 ps 命令添加更多详细信息。最终为我工作的是:

ps -eo pid,comm,cmd,start,etime

这显示了所有进程(-e)并给出了我指定的信息(-o):进程ID(pid),以便我可以终止任务,命令(comm) - 即python,bash等,cmd(程序的完整路径)、开始时间和经过的时间。

相关内容