我创建了一个简单的test.py,其中包含以下内容:
import sys
res = sys.stdin.read()
print(res)
但是当我试图运行时
python test.py
然后我输入
hello
并通过 Ctrl + z 结束输入,我收到以下消息:
4 [sig] bash 11516! sigpacket::process: Suppressing signal 18 to win32 process (pid 10620)
我无法弄清楚出了什么问题。
答案 0 :(得分:4)
信号18只是 Ctrl + Z 的处理程序。 (从技术上讲,它映射到SIGTSTP
。)信号告诉进程暂停。由于信号通常对Windows进程毫无意义,git-bash会抑制该消息,但它仍然会让您知道它抑制了该信号。
不幸的是,MinTTY(默认的git-bash终端)没有正确连接本地Windows控制台应用程序的控制台。因此,即使忽略了警告信息,python解释器也无法正常工作。 (More info)
为了正确连接python,你需要使用winpty
来启动python。命令:
winpty python test.py
会奏效。如果你需要访问git命令,你也可以使用git-cmd,或者打开标准的Windows命令提示符并在那里运行python。