问题描述
我们有一个用例,我们需要区分一个进程是从 crontab 启动还是它是 Python 中的后台进程?
是否有任何进程属性可以检查以了解它是 cron 启动的进程还是后台进程?
解决方法
从 cron
启动的进程将 cron
作为其父进程。
当然,在一般情况下,从 cron
启动的进程启动的进程将 cron
作为其祖父;如果启动器进程是 cron
的子进程但现在已终止,则子进程将重新成为父进程,并将 init
(进程编号 1)作为其父进程。此时您无法再判断它以前是否有 cron
作为其父项。
这些都不是 Python 特有的,但可以查看 After starting process,how to get parent's PID in the child? 以了解实现细节。