Если вы отправили свой процесс в фоновый режим с &
в конце командной строки, вы можете вернуть его на передний план с помощью fg
. Вернувшись на передний план, вы можете убить его с помощью Ctrl+C
test.py
:
from time import sleep
n = 0
while True:
sleep(1)
n += 1
print(n)
Пример вывода:
$ python3 -q test.py &
[1] 82675
$ 1
2
3
4
fg
5
6
^CTraceback (most recent call last):
File "test.py", line 6, in <module>
sleep(1)
KeyboardInterrupt
Это работает из та же оболочка, где вы начали свой скрипт. Из другой оболочки вы можете найти идентификатор процесса (PID) с помощью ps
, а затем убить его с помощью kill -9 <PID>
. Кстати, первая выходная строка в приведенном выше примере сообщает вам PID (82675
в данном случае).
Если у вас нет другого процесса, содержащего имя вашего скрипта в командной строке, вы можете даже сделать это (заменив test.py
):
$ kill -9 $(ps | fgrep test.py | fgrep -v fgrep | cut -d' ' -f1)