Назад | Перейти на главную страницу

Как убить убегающую / мошенническую вставку из буфера обмена в CLI?

Я скопировал большой объем текста в буфер обмена, а затем вставил его в терминал. Я не думал, что он будет настолько большим, что продолжит заполнять экран в течение ~ 5 минут.

ctrl + c кажется, работает большую часть времени, но не всегда, и мне казалось, что я не мог точно определить время.

Как я могу помешать неконтролируемой / мошеннической вставке из буфера обмена сделать терминал бесполезным, пока это не будет сделано?

обновление: я опубликовал ответ ниже, в котором используется htop найти его, а затем SIGINT чтобы убить его, но это также убивает терминал или панель (tmux). Было бы неплохо, если бы это не убивало / не останавливало процесс. Я попытался SIGQUIT (Пауза), SIGABRT (прервать) и SIGHUP (повесить трубку), но безуспешно (на мошенническую пасту это не влияет).

обновление 2: Ах, в моем случае это вставка HTML и ctrl + c на самом деле работает, но поскольку это разрыв строки / возврат в пасте, он запускает новую вставку каждую секунду или около того. Так ctrl + c просто влияет на текущий. Я не думаю, что в этом сценарии будет другой вариант, кроме как убить процесс с помощью SIGINT.

https://stackoverflow.com/questions/7771557/how-to-terminate-a-window-in-tmux Вы можете убить определенные панели в Tmux или поместить панель в сеанс экрана и таким образом убить ее. Я нахожу это немного чрезмерным, обычно я нажимаю ctrl-s, чтобы приостановить терминал, затем ctrl-c. Но из-за лени у меня есть привязка клавиш к xkill и я просто убиваю терминал :-) Я знаю, что это кувалда, чтобы взломать орех, но если вы используете vim, вы можете восстановить сеанс из файла подкачки, повторно открыв его снова.

Я закончил запуск htop, который поместил мой процесс оболочки (fish) в начало списка с процессором 137%. Потом убил нажатием F9 (k тоже работает). Я выбрал по умолчанию SIGTERM и это убило процесс, как и ожидалось.