[Terminal] 运行python程序,无法按Ctrl+C终止程序
Tofloor
poster avatar
南巢云马
deepin
2025-08-26 15:54
Author

运行python程序,无法按Ctrl+C终止程序,怎么处理

如图:

wechat_2025-08-26_154916_717.png

Reply Favorite View the author
All Replies
zccrs
deepin
2025-08-26 21:03
#1

所有程序都这样吗?看样子是这个程序卡住了,没有响应退出请求。

Reply View the author
安洛
deepin
2025-08-26 21:07
#2

这种情况下会有 SIGTERM 信号被传递到程序内部,如果程序内部没有处理好这个信号就会导致无法退出。

如果你只是想停止这个程序,建议新开一个终端kill掉它,或者用任务管理器来杀掉。否则,你需要修改代码来处理 SIGTERM 信号。

Reply View the author
南巢云马
deepin
20 hours ago
#3
zccrs

所有程序都这样吗?看样子是这个程序卡住了,没有响应退出请求。

就是错误程序,调试过程中,想按Ctrl+C终止;正常程序运行正常,没这个需求。

Reply View the author
Nostalic
deepin
12 hours ago
#4

会不会是因为这个程序把KeyboardInterrupt异常捕获了,然后没有退出,比如下面这个程序也没办法用Ctrl+C

import time

while True:
    try:
        print("运行中")
        time.sleep(2)
    except KeyboardInterrupt:
        print("中断")

Reply View the author
骑木马的哥哥
deepin
7 hours ago
#5

这个python脚本,可能把ctrl+c的快捷键信号捕获吞掉了。

如果下次遇到这种情况,可以直接杀死这个脚本的进程。

假如你运行的命令为:python3 main.py 这个命令卡死了

你可以运行:ps -ef | grep 'python3 main.py' | awk '{print($2)}' | xargs kill -9

上述命令的含义是:先显示所有进程(运行中的程序),然后根据运行卡死的命令过滤出需要杀死进程的进程号,然后使用kill -9杀掉它。

Reply View the author