我正在尝试编写一个Python代码,用于检查网络交换机上的网络设置。期待错误,我已经包含'exit.sys()'命令,以防出现错误或不匹配的数据。但是,虽然我希望它终止并在脚本中引发异常,但它也会终止CLI会话(Putty)。什么是能够抛出异常并仅终止交换机上运行的脚本而不终止Putty的最佳命令?
if isc_port.endswith('g'):
isc_port = isc_port[:-1]
elif isc_port.endswith('G'):
sys.exit("The ISC port is also configured as an MLAG port. Please correct.")
#return ELM
答案 0 :(得分:0)
调用sys.exit()
仅退出(python)进程。它不会(直接)影响putty或任何其他终端(xterm,gnome-terminal等)。
PuTTY在远程服务关闭连接时终止。通常,例如使用ssh或telnet,当通过登录运行的程序终止时,会发生这种情况。通常程序是一个shell(例如/ bin / sh,/ bin / bash等),在交互式运行时不会终止,直到你输入'exit'(或发送它EOF,通常是Ctrl-D)。当shell以非交互方式运行时,它通常会在它运行的命令终止时终止。
也许您在登录时使用python程序作为shell?在这种情况下,当您不想退出时不要退出。也许你有一个运行程序的shell脚本,然后在你登录时退出?如果是这样,请将该脚本更改为不退出。
另外,我经常看到PuTTY保持窗口打开,因此所有输出仍然是可见的,直到您确认网络连接丢失的通知为止。它是Windows DOS / cmd.exe窗口,我在它运行的程序终止时立即关闭。