idea 启动命令行的时候提示不能创建PTY

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea 启动命令行的时候提示不能创建PTY相关的知识,希望对你有一定的参考价值。

参考技术A 问题描述:

昨天上午,凯哥还在好好的使用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

以上是关于idea 启动命令行的时候提示不能创建PTY的主要内容,如果未能解决你的问题,请参考以下文章

6.7 通过命令启动IDEA,给IDEA创建快捷方式

IDEA配置sdk

MySQL 服务的启动与停止(通过命令行的方式)

windows64位,打开idea后redis打不开

linux 如何用命令行启动程序?

Jetty启动项目失败?两个命令解决address already in use问题