如果你在終端中運行了一個程序(比如 Python GUI tkinter
應用),按下 Ctrl + C
沒有作用,一般是因為該程序:
-
運行了主事件循環(例如
tkinter.mainloop()
) -
或 在子線程中運行,而
Ctrl + C
無法中斷這個子進程
? 你可以嘗試以下方法來終止終端中的程序:
? 方法一:使用 Ctrl + Z
(掛起程序)
-
作用:將當前運行的程序掛起(暫停)
-
然后你可以用
kill
來終止它
Ctrl + Z # 掛起程序
jobs -l # 查看掛起程序的 PID
kill -9 PID # 用真實的 PID 強制終止進程
? 方法二:查找進程并終止
如果你知道程序名,比如 python3
:
ps aux | grep python3
找到你要終止的那一行,比如 PID 是 12345
,然后:
kill -9 12345
? 方法三:一鍵殺掉所有當前用戶的 Python 進程(慎用)
如果你只是在開發調試,可以直接干掉所有 Python 進程(會關閉所有正在運行的 Python 腳本):
pkill -9 python3
? 方法四:關閉終端窗口
最簡單粗暴的方法,直接關閉當前的終端窗口。所有在這個窗口中運行的前臺程序也會被強制關閉。
? 方法五:后臺運行時用 kill %1
如果你用 Ctrl + Z
將程序掛起并轉為后臺任務(例如變成 [1]+ Stopped python3 child_panel.py
),你可以:
kill %1
📌 小結
操作 | 命令 |
---|---|
掛起程序 | Ctrl + Z |
查看后臺任務 | jobs -l |
殺掉掛起的任務 | kill -9 %1 或 kill -9 PID |
終止所有 python3 進程(慎用) | pkill -9 python3 |
如果你告訴我你具體運行了什么程序、是否帶 GUI,我可以推薦最合適的終止方法。需要嗎?