Powershell ISE - 空行上的Ctrl-C会导致执行脚本?

时间:2016-09-12 15:36:31

标签: powershell powershell-ise sigterm

我之前在ISE中启动了一个长时间运行的脚本,并在运行时开始工作,并密切关注其在控制台面板中的进度。当我输入错误并按下Ctrl-C而不是Ctrl-V时,我正在将函数调用复制到第二个脚本的另一部分。执行脚本立即退出。似乎ISE将其解释为运行脚本的SIGTERM,即使我没有突出显示控制台面板。
我无法看到任何禁用此选项的选项,但如果这是预期的行为,那么我发现它是不可接受的。我需要找到一种方法来关闭它,因为我已经失去了大约一个小时的工作量(脚本必须从头到尾运行)通过一次应该没有做任何事情的意外点击。有谁知道这是否是预期的行为,还是我遇到了其他问题?

1 个答案:

答案 0 :(得分:3)

解决方法:File> New PowerShell Tab

这将创建一个新环境,它具有让您独立于第一个脚本运行第二个脚本的额外好处。

但您可能会认为ISE更适合脚本的开发和测试,而不是长期运行"生产"在开发其他脚本的同时进行处理。我的意思是你可以使用它,但它可能被认为是边缘用例。

你提到了:

  

创建新选项卡确实有效,但这意味着我无法一目了然地看到当前正在执行的脚本。

在这种情况下,您可以打开一个新的控制台主机(powershell.exe)并在ISE之外运行您的脚本(同时继续开发它并将其保存在ISE中)。但除非您可以将其移动到另一台显示器,否则可能仍然很难看到。不管怎样,你可以打开一个全新的ISE实例!