Powershell简介"退出"活动?

pok*_*oke 19 powershell

我正在寻找一种在PowerShell会话退出时自动执行一些清理任务的方法.因此,例如在我的配置文件中,我启动了一个需要在后台运行以完成大量任务的进程,并且我希望在关闭控制台时自动关闭该进程.

PowerShell在关闭会话时是否会自动调用某些功能,就像prompt显示提示时一样?

Joe*_*oey 20

还有就是Register-EngineEvent,你可以使用一个事件处理程序附加到cmdlet Exiting事件:

Register-EngineEvent PowerShell.Exiting –Action { ... }
Run Code Online (Sandbox Code Playgroud)

但请注意,如果关闭控制台窗口,则不会触发此事件.

  • @poke:我在我的个人资料中使用了以下小片段:`Invoke-Expression'函数$([char] 4){exit}"`这允许我按Ctrl + D和Enter退出PowerShell.不完美,但足够短,以避免去X按钮. (7认同)
  • 谢谢,这很好用,但我大部分时间都关闭了我的外壳,而没有明确输入“exit”。也许其他人有想法,否则我需要习惯`exit` ;) (2认同)
  • 顺便提一句。您应该添加参数 `-SupportEvent` 以防止 PowerShell 在 shell 启动时打印出事件数据。-- 或者通过管道将其传递给“Out-Null”。 (2认同)