問題:
linux環境中使用crond 執行python指令碼,指令碼中使用 執行
tp = subprocess.Popen('ip route show' , stdout = subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
tp.stdout.readlines() 內容爲空,無返回結果
列印 tp.stderr.readlines() 內容後,發現 報錯資訊:
ip_route_rst_err: "['/bin/sh: ip: command not found\n']"
解決方法:
使用 whereis ip 找到ip的安裝路徑(如:ubuntu ip命令路徑:/bin/ip 和 /sbin/ip; centos ip命令路徑:/usr/sbin/ip)
subprocess.Popen('/usr/sbin/ip route show' , stdout = subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
再執行定時任務時,程式執行正常