当我使用 crontab 调用 Python 脚本时,进程不会终止
Processes don't terminate when I call Python script using crontab
我有一个名为 yarn_monitor.py 的脚本。当我 运行 它时,程序正确执行,当我使用 ps -u myname
查看 运行ning 进程时,一切都很清楚。
但是当我 运行 yarn_monitor.py 使用 cron 时:
* * * * * /home/me/projects/yarn_monitor/yarn_monitor.py
我看到有几个进程没有退出。这里重复了两次:
19337 ? 00:00:00 yarn_monitor.py
19338 ? 00:00:03 java
19418 ? 00:00:00 sendmail
19419 ? 00:00:00 postdrop
20043 ? 00:00:00 yarn_monitor.py
20046 ? 00:00:02 java
20199 ? 00:00:00 sendmail
20200 ? 00:00:00 postdrop
最终,当我让 cron 保持 运行ning 作业时,我收到 Java GC 内存不足错误。
据我所知,我在我的过程中没有使用任何 Java。这是我的进口商品:
from __future__ import print_function
import os
import sys
import re
import time
from pysnmp.entity.rfc3413.oneliner import ntforg
from pysnmp.proto import rfc1902
知道会发生什么吗?或者如何在终止以前创建的进程的同时保持 运行 执行此作业?
It looks like the close isn't working correctly when run through cron, but it works fine when called manually.
在我看来,yarn 需要设置一些环境变量,而当 运行 作为 cron 作业时,这些变量没有设置。尝试以下调试:
* * * * * yarn application -list > /home/me/error_log 2>&1
现在等待 1 分钟,查看 /home/me/error_log
,看看它在抱怨什么。这将提示您需要做什么来修复您的环境。
可能是cron tab的bash_profile没有全部环境变量使用正确的路径。尝试做类似
的事情
***** 来源 ~/.bashrc && python abc.py
或
提及 Python 来源的绝对路径,例如
/use/lib/Python2.7/Pythonabc.py
我有一个名为 yarn_monitor.py 的脚本。当我 运行 它时,程序正确执行,当我使用 ps -u myname
查看 运行ning 进程时,一切都很清楚。
但是当我 运行 yarn_monitor.py 使用 cron 时:
* * * * * /home/me/projects/yarn_monitor/yarn_monitor.py
我看到有几个进程没有退出。这里重复了两次:
19337 ? 00:00:00 yarn_monitor.py
19338 ? 00:00:03 java
19418 ? 00:00:00 sendmail
19419 ? 00:00:00 postdrop
20043 ? 00:00:00 yarn_monitor.py
20046 ? 00:00:02 java
20199 ? 00:00:00 sendmail
20200 ? 00:00:00 postdrop
最终,当我让 cron 保持 运行ning 作业时,我收到 Java GC 内存不足错误。
据我所知,我在我的过程中没有使用任何 Java。这是我的进口商品:
from __future__ import print_function
import os
import sys
import re
import time
from pysnmp.entity.rfc3413.oneliner import ntforg
from pysnmp.proto import rfc1902
知道会发生什么吗?或者如何在终止以前创建的进程的同时保持 运行 执行此作业?
It looks like the close isn't working correctly when run through cron, but it works fine when called manually.
在我看来,yarn 需要设置一些环境变量,而当 运行 作为 cron 作业时,这些变量没有设置。尝试以下调试:
* * * * * yarn application -list > /home/me/error_log 2>&1
现在等待 1 分钟,查看 /home/me/error_log
,看看它在抱怨什么。这将提示您需要做什么来修复您的环境。
可能是cron tab的bash_profile没有全部环境变量使用正确的路径。尝试做类似
的事情***** 来源 ~/.bashrc && python abc.py
或
提及 Python 来源的绝对路径,例如 /use/lib/Python2.7/Pythonabc.py