【发布时间】:2013-09-14 04:23:03
【问题描述】:
我编写了以下程序以将我的程序作为守护程序运行,但它没有运行;当我从 python 调试器运行程序时,它可以工作。
我正在使用 Mac os x。
/User/Library/LaunchDaemons/com.bobbob.osx.test.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.bobbob.osx.test</string>
<key>Program</key>
<string>/Users/vivekbhintade/Desktop/test.py</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
/Users/vivekbhintade/Desktop/test.py:
import urllib2
from datetime import datetime
import smtplib
from smtplib import SMTPException
import threading
def checkerror():
#my code which works fine individually, which sends mail after 5 seconds to recipients.
checkerror()
我还使用以下命令从终端运行程序。
launchctl load /Library/LaunchDaemons/com.bobbob.osx.test.plist
这不会导致任何错误。
【问题讨论】:
-
launchctl load /Library/LaunchDaemons/com.bobbob.osx.test.plist工作吗? -
是的,它工作意味着它不会给出任何类型的错误消息
-
但是
launchctl也会发送您期望的电子邮件吗?你如何从终端运行它?与$ python test.py?在我看来,您的文件开头缺少#!/bin/env python,因此操作系统不知道如何运行它。
标签: python macos python-2.7