linux命令执行成功,代码获取的状态始终不正确
问题:
- 通过python脚本执行更改某些系统状态的命令,检查流程均正常,但获取到的状态不正常
- 通过python pdb 执行,可得到正确的结果
原因:
在命令执行过程中,某些命令更改系统状态需要一个时间间隔,可能几百毫秒,或者数秒才能生效,而python脚本在执行的过程中,命令执行状态会很快返回,到执行检查状态命令完成,可能需要的时间少于命令生效所需的时间。故无法得到正确的结果
解决方式:
在更改状态生效较长的命令执行后,添加sleep
这种问题碰到了真的是很头疼,大多数时候,我们只考虑了代码逻辑的准确性,却忽略了这一点,定位的时候可能花费大量的时间。