问题描述:
昨天上午,凯哥还在好好的使用idea,中午的时候,360扫描,好像要升级还是要干嘛的,没细看,然后凯哥就点击确定。结果到下午使用idea的Terminal 命令行的时候提示,如下图错误:
failed tostart[cmd.exe]
然后重新安装了ieda,又提示如下错误:counld't create PTY
然后百度、google.从搜索出的结果来看,可以总结为以下几个问题:
1:cmd命令全路径。如下图:
凯哥也修改了,结果是,然并卵。
2:使用管理员权限启动:
将idea的兼容性修改已管理员身份允许此程序。如下图:
结果依然是然并卵。
3:还有说把CMD使用旧版本。
使用旧版本控制台,选项选中,如下图:
结果依然是然并卵。
然后又去官网查下问题。修改也是类似的,修改ideade shell path位置。实际是什么用。
反正凯哥百度了一天,都没用。就在绝望的时候,再来看看错误原因:
注:此错误原因是在idea 2020.1的版本下打印的。凯哥换了2018、2019、2020 三个版本的idea.
Cannot open Local Terminal
Failed to start [C:\Windows\system32\cmd.exe] in D:/kaigejava/kaigejava
Error starting winpty: ConnectNamedPipe failed: Windows error 232
This error can occur due to antivirus blocking winpty from creating a pty. Please exclude the following files in your antivirus:
- E:\kaigejava\ideaIU-2020.1.2.win\lib\pty4j-native\win\x86_64\winpty-agent.exe
- E:\kaigejava\ideaIU-2020.1.2.win\lib\pty4j-native\win\x86_64\winpty.dll
于是凯哥搜索了:
Error starting winpty: ConnectNamedPipe failed: Windows error 232
偶然间,就这么不小心的看到了一篇文章,说是360安全卫士的原因导致的。
于是凯哥回忆出现问题的原因,还真的是360诱导的。
原因,360安全防护中的进程防护处于安全考虑禁止了其他进程获取cmd的权限,如果需要放开此权限,可以如下设置:
步骤:打开360安全卫士。在右侧有个【安全防护中心】。如下图:
点击打开后。有个进程防护。如下图:
把进程防护关掉。然后在idea中,点击terminal的加号,就可以了。如下图:
如果关闭掉之后:360会出现一个叹号。如下图:
这种方法只是临时关闭了安全防护。但是有可能电脑失去安全保护。
使用第二种方案:将idea添加到信任区。但是这个需要重启电脑哦~
具体步骤:
将:
- E:\kaigejava\ideaIU-2020.1.2.win\lib\pty4j-native\win\x86_64\winpty-agent.exe - E:\kaigejava\ideaIU-2020.1.2.win\lib\pty4j-native\win\x86_64\winpty.dll
这两个文件添加到360信任区。
360首页,木马查杀-->信任区。如下图:
点击添加文件:
将上面两个文件添加进去。获取是添加目录,直接将上面两个文件的根目录添加进去。把安全防护中心的-进程保护打开,然后重启电脑,再试试。
就这个问题,凯哥(凯哥Java:kaigejava)搞了一天时间啊。浪费啊!不过,现在已经解决了。分享出来,希望能够帮助遇到类似问题的你。
说明:此方法时候解决360安全卫士导致Idea、webstorm等无法打开终端Terminal的问题Cannot open Local Terminal
来源:oschina
链接:https://my.oschina.net/kaigejava/blog/4302793