Ранее я запустил долго выполняющийся скрипт в ISE и начал работу над вторым, пока он выполнялся, следя за его ходом в панели консоли. Я копировал вызов функции в другую часть второго скрипта, когда опечатался и нажал Ctrl-C, а не Ctrl-V. Немедленно исполняемый скрипт завершился. Кажется, ISE интерпретировала это как SIGTERM для запущенного скрипта, хотя у меня не была выделена панель консоли.
Я не вижу никаких вариантов, чтобы отключить это, но если это задуманное поведение, то я считаю это неприемлемым. . Мне нужно найти способ отключить это, так как я потерял около часа работы (сценарий должен выполняться от начала до конца) из-за одного случайного щелчка, который ничего не должен был делать. Кто-нибудь знает, является ли это предполагаемым поведением, или я столкнулся с чем-то другим?
Powershell ISE - Ctrl-C в пустой строке убивает исполняемый скрипт?
Ответы (1)
Обходной путь: File
> New PowerShell Tab
Это создаст новую среду, которая имеет дополнительное преимущество, позволяющее запускать второй сценарий независимо от первого.
Но вы можете подумать, что ISE лучше подходит для разработки и тестирования сценариев, а не для длительных «производственных» процессов, в то время как вы также разрабатываете другие сценарии. Я имею в виду, что вы можете использовать его для этого, но, вероятно, он считается крайним вариантом использования.
Ты упомянул:
Создание новой вкладки работает, но это означает, что я не могу сразу увидеть выполняющийся в данный момент скрипт.
В этом случае вы можете открыть новый хост консоли (powershell.exe
) и запустить свой скрипт вне ISE (продолжая его разработку и сохранение в ISE). Но его все еще может быть трудно увидеть, если вы не сможете переместить его на другой монитор. В этом случае вы могли бы просто открыть совершенно новый экземпляр ISE!