linux下退出KeyboardInterrupt
时间: 2024-01-01 12:04:09 浏览: 110
linux多线程编程按键退出
4星 · 用户满意度95%
在 Linux 下,可以通过捕获 KeyboardInterrupt 信号来退出程序。下面是一个示例代码:
```python
import signal
import sys
def signal_handler(sig, frame):
print('You pressed Ctrl+C!')
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()
```
在这个示例中,我们使用 signal 模块来注册信号处理程序 signal_handler。当程序接收到 SIGINT(Ctrl+C)信号时,它将调用 signal_handler 函数并退出程序。signal.pause() 函数用于阻塞程序直到信号到达。
你可以在需要退出程序的地方抛出一个 KeyboardInterrupt 异常,这个异常会被 signal_handler 捕获并退出程序。例如:
```python
import signal
import sys
def signal_handler(sig, frame):
print('You pressed Ctrl+C!')
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
try:
while True:
# some code here
except KeyboardInterrupt:
print('You pressed Ctrl+C!')
sys.exit(0)
```
阅读全文