我正在尝试使用 python 脚本获取 linux 机器上网络接口(interface)的信息,即“ifconfig -a eht0”。所以我正在使用以下代码:
import subprocess
proc = subprocess.Popen('ifconfig -a eth0', shell=True, stdout=subprocess.PIPE)
proc.wait()
output = proc.communicate()[0]
好吧,如果我用
从终端执行脚本python myScript.py
或与
python myScript.py &
它工作正常,但是当它在没有事件 shell 的情况下从后台运行(由 crontab 启动)时,我无法获得输出。
有什么想法吗?
谢谢
最佳答案
您是否尝试过使用“屏幕”?
proc = subprocess.Popen('screen ifconfig -a eth0', shell=True, stdout=subprocess.PIPE)
我不确定它是否可以工作。
关于Python:从后台子进程获取标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45432517/