为什么在 Windows 下用 Ctrl+Z 退出 Python 而 Linux 下用 Ctrl+D 呢()
文章图片
打开我们的命令行,输入 python
,我们会进入 python
的交互模式。
文章图片
当我们想退出 python
,返回我们的 shell
时,你将如何退出?
文章图片
如上,两个行之有效的方法是输入 exit()
或者 quit()
来中止这个 python
进程。
此外,还有一种更为人所熟知的方式: 使用快捷键退出 。而这个操作在 Windows
和 Linux
两个平台是不同的——前者使用 Ctrl + z
而后者使用 Ctrl + d
。但是,为什么不同呢?
EOF, end of file
这就不得不提起文件结束符 EOF
(end of file
) 。
在 C 语言的 stdio.h
中, EOF
实际上就是 -1
:
#define EOF (-1)
C 语言之父肯·汤普森与丹尼斯·里奇恰好也是
Unix
的缔造者,而 Unix
深远地影响了操作系统的发展:无论是 Windows
还是 Linux
。当我们接收输入的“程序”接收到
-1
这个值时,程序便会知道:哦,这不就是 EOF
老兄吗!现在已经抵达文件的最末尾(end of file
)了,我的接收输入的工作也就完成了,可以下班了!咱们来看一个简单的 C 语言例子。
文章图片
文章图片
但注意,
-1
并不是数值对象,而就是 -1
这个输入值,我们无法通过键盘上的 -1
直接键入,如果想要键入 -1
,那么就需要:- 在
Windows
上键入Ctrl + z
- 在
Linux
上键入Ctrl + d
Windows
下用 Ctrl+Z
退出 Python
而 Linux
下用 Ctrl+D
了吧!一些补充
有朋友问了,
Ctrl + c
也是杀死进程,为啥 Ctrl + c
不行呢?我的理解是,在
python
的交互窗口里, Ctrl + c
用于杀死 python
的子进程,比如你进入死循环了。文章图片
如果你真的想通过杀死进程的方式来退出
python
,那我这里有一套 powershell
和 shell
的命令。tasklist | where {$_ -match "python"}
kill
文章图片
ps aux | grep python
kill -9
【为什么在 Windows 下用 Ctrl+Z 退出 Python 而 Linux 下用 Ctrl+D 呢()】
文章图片