Убить активный процесс, когда терминал закрыт - PullRequest
0 голосов
/ 02 мая 2020

Я хочу настроить свой терминал на автоматическое уничтожение активного процесса при закрытии окна. Эквивалент нажатия Ctrl+C прямо перед закрытием окна, но автомат c.

Это то, что у меня есть в моем .bashrc:

function onExit(){
    xdotool key ctrl+c
}
trap onExit EXIT

trap успешно выполняет эту функцию, но xdotool (основываясь на предложении в другом месте) не убивает активный процесс. Кто-нибудь может предложить что-то еще, что может работать? Или то, что я пытаюсь сделать, невозможно?

РЕДАКТИРОВАТЬ: Я нахожусь в Windows Терминал под управлением Ubuntu через WSL2. Это, наверное, очень важно.

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Если вы используете Redhat, вы можете изменить настройку huponexit shopt; см https://serverfault.com/questions/115999/if-i-launch-a-background-process-and-then-log-out-will-it-continue-to-run

0 голосов
/ 02 мая 2020

Предполагая, что вы используете окно терминала в оболочке Gnome или аналогичном, закрытие окна терминала обычно убивает процессы переднего плана, как это делает нажатие Ctrl + C, если это возможно. Это убьет все дочерние процессы вашего терминала / bash сеанса.

Пожалуйста, проверьте верхний ответ здесь: https://superuser.com/questions/243460/what-to-do-when-ctrl-c-cant-kill-a-process

...