powershell 中的 SIGHUP 等效项
我有兴趣知道我们是否可以在 Powershell 中捕获 SIGINT、SIGHUP 等效信号以及如何做到这一点?
我也找不到 powershell 中是否有类似 unix 环境中的“stty -echo”的东西。
谢谢,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我没有太多使用终端,但经过一番搜索尝试理解 stty -echo 的意义后,我认为您可以通过创建 PInvoke 帮助器来获得类似的效果 SetConsoleMode。
至于SIGINT(如果我理解正确的话),我认为.NET和PowerShell中存在中断异常。但这可能仅适用于线程和管道。
I haven't used terminals much, but after some searching to try to understand the significance of
stty -echo
I think you may be able to get a similar effect by creating a helper to PInvoke SetConsoleMode.As for SIGINT (if I understand it right), I think there are interruption exceptions in .NET and PowerShell. But that may only be for threads and pipelines.
我不认为 Windows 具有与 Unix 信号相同的功能。
API 函数 GenerateConsoleCtrlEvent 和 SetConsoleControlHandler 是
尽可能接近,但我不知道它们是否暴露在任何环境中
通过 Powershell 的方式。我认为如果您需要 Windows 同等产品,那您就完全不走运了
一些更深奥的 Unix 信号,如 SIGHUP。
编辑:我从您上一个问题的答案之一中看到 Powershell
确实有一个 trap 命令——但它似乎可以处理 .Net 异常,这
我不认为等同于 Unix 信号。
关于 stty -echo 的等效项 - 抱歉,不知道。
I don't think Windows has functionality equivalent to Unix signals in general.
The API functions GenerateConsoleCtrlEvent and SetConsoleControlHandler are
about as close as you're likely to get, but I don't know if they're exposed in any
way by Powershell. I think you're completely out of luck if you need a Windows equivalent
to some of the more esoteric Unix signals like SIGHUP.
Edit: I see from one of the answers to your previous question that Powershell
does have a
trap
command -- but it seems to handle .Net exceptions, whichI wouldn't consider equivalent to Unix signals.
About an equivalent for
stty -echo
-- sorry, no idea.