我有一个我无法解释的奇怪问题。此脚本在直接执行时工作正常,但在一台计算机上通过crontab执行时无法正常工作,但在另一台机器的crontab上工作正常(相同的操作系统,RHEL 6):
#!/usr/bin/python
from subprocess import Popen, PIPE
def notify_helpdesk(result):
...
def main():
proc = Popen("service auditd status", stdout=PIPE, shell=True)
result = proc.stdout.readline()
if "is running" not in result:
notify_helpdesk(result)
if __name__ == "__main__":
main()
直接执行,/审核_棋盘格.py,每次都执行正确的操作过程。在
通过crontab执行,“result”总是空的(不是None,只是空的),导致调用notify_helpdesk。在
是的,auditd服务正在运行。在
这是crontab条目:
^{pr2}$这个完全相同的脚本,在另一台操作系统完全相同的机器上,使用完全相同的Python(2.6.6)版本,并通过crontab进行完全相同的调用,其执行方式与cronjob完全相同。在
我尝试了这个方法,但遇到了同样的问题:
proc = Popen("service auditd status", stdout=PIPE, shell=True)
out, err = proc.communicate()
if "is running" not in out:
notify_helpdesk(out)
if err:
notify_helpdesk(err)
目前没有回答
相关问题 更多 >
编程相关推荐