如何知道一个进程是否从python中的cron启动

问题描述

我们有一个用例,我们需要区分一个进程是从 crontab 启动还是它是 Python 中的后台进程?

是否有任何进程属性可以检查以了解它是 cron 启动的进程还是后台进程?

解决方法

cron 启动的进程将 cron 作为其父进程。

当然,在一般情况下,从 cron 启动的进程启动的进程将 cron 作为其祖父;如果启动器进程是 cron 的子进程但现在已终止,则子进程将重新成为父进程,并将 init(进程编号 1)作为其父进程。此时您无法再判断它以前是否有 cron 作为其父项。

这些都不是 Python 特有的,但可以查看 After starting process,how to get parent's PID in the child? 以了解实现细节。