[英]subprocess.popen not returning any output in cronjob
我有一個python腳本,需要在linux中收集命令行實用程序的輸出。 我已經使用下面的子過程方法來讀取輸出:
proc = subprocess.Popen(["cmd","arg"], stdout=subprocess.PIPE, shell=True)
(raw_domain, err) = proc.communicate()
當我從bash手動執行腳本時,它可以正常工作並返回命令輸出,但是,當我將此腳本執行添加到crontab時,subprocess.popen不返回任何輸出。
Crontab表達式:
* * * * root python /apoorv/cleanup_null_domain.py
我使用日志驗證了“空白”返回,對此我非常確定。
想要提及的是,我也使用了os.popen方法。 結果相同:(
您正在代碼中捕獲stdout和stderr,因此顯然不會輸出任何內容。 打印這些值,或者更好的是將它們寫入日志文件。
編輯腳本的第一行
#!/usr/bin/env python
要么
#!/usr/bin/python
並使其可執行
chmod +x /apoorv/cleanup_null_domain.py
然后在crontab中
* * * * root /apoorv/cleanup_null_domain.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.