0
我想打電話給通過的cronjob一個deamon程序,可以使用通過的cronjob在python
[email protected]:/home/web/path_to_directory# python api/api_daemon.py start
我曾嘗試以下稱爲啓動一個守護進程接近
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
編輯1 基本上,我使用cron作業來檢查進程是否正在運行,如果進程沒有運行,那麼只有進程會被調用。
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")
通過的cronjob process_check()
被稱爲
我也嘗試過使用絕對路徑(請參閱第二種方法) – onkar
對於python,它從調用哪個目錄腳本確實很重要。所以你必須顯式地chdir到腳本才能工作的特定目錄。 – GwynBleidD
嗨GwynBleidD,請你檢查編輯? – onkar