通过python中的cronjob开始一个deamon

时间:2016-02-02 07:17:17

标签: python django

我试图通过cronjob调用deamon进程,可以使用

调用
foo = calloc(10, sizeof (my_struct));

我尝试了以下方法

root@ip:/home/web/path_to_directory# python api/api_daemon.py start

修改1 基本上,我使用cron作业来检查进程是否正在运行,如果进程没有运行,那么只会调用进程。

 import os
    os.system("/usr/bin/python /home/web/path_to_directory/api/api_daemon.py start")


import os
os.system("python /home/web/path_to_directory/api/api_daemon.py start")

import os
os.system("python api/api_daemon.py start")#works on shell and when triggered manually 

通过cronjob def process_check(): process_list = ['api_daemon.py'] for process in process_list: processname = 'python api/'+process+' start' #print processname tmp = os.popen("ps -Af").read() proccount = tmp.count(processname) message1 = 'processes running of %s' % (processname) print proccount #proccount = -2 if not proccount > 0 : logging.info('status file stopped') send_msg(process) # to notify process has been restarted run_process() def run_process(): import os os.system("chdir /home/web/path_to_directory && python api/api_daemon.py start") 被称为

1 个答案:

答案 0 :(得分:0)

如果api_daemon.py scrpt取决于/home/web/path_to_directory中的某个模块,则必须先将该目录添加到该目录的路径或chdir。

话虽如此,您可以尝试调用命令:

chdir /home/web/path_to_directory && python api/api_daemon.py start

在您的crontab文件中。首先会转到项目目录,然后启动api_daemon