我正在开发一个python脚本,它重新启动一个cisco路由器(接入点),我想捕获引导日志
但是我不能控制这个{
当设备重新启动时,我尝试的是以以下方式使用子流程模块:
output=subprocess.Popen(ap1.reload_ap(), stdout=subprocess.PIPE).communicate()[0]
ap1.reload_ap()
将重新启动设备,但不会返回任何内容
因此,我尝试将进程outuput重定向到标准输出,以便在执行脚本后通过subprocess.PIPE
在终端上显示引导日志
但是,我无法使用子进程跟踪此引导日志
是否有任何方法可以将AP引导日志捕获到终端或以其他方式捕获
重新启动一个系统是从对reboot的系统/内核调用开始的,这就是您的进程所做的一切,整个重新启动过程都发生在内核空间中,这是在用户空间中运行的Python脚本无法实现的
因此:
您只能看到重新启动系统调用的输出,其他什么都看不到
另一方面,在系统关闭所有进程之前终止Python解释器的可能性非常高
为了更好地理解,你应该阅读How does the system shutdown of a Linux kernel work internally?
另类
您无法按所需方式获取日志,但系统仍将生成日志,因此您可以在重新启动完成后使用Python读取此类日志。这可能会有帮助:How to find out from the logs what caused system shutdown?
推荐阅读
What is difference between User space and Kernel space?
相关问题 更多 >
编程相关推荐