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

как остановить цикл на другом терминале

Мы подключаемся к одному и тому же хосту через одного пользователя. Итак, только наши сессии / tty разные. Если один из нас запустит цикл for, например:for i in *; do command $i; done, Я не знаю, как это остановить. Все, что я могу сделать, это поискать команда имя в ps aux и убить этот экземпляр команды. Но цикл for продолжается, генерируя еще один команда обработать.

Как я могу найти этот цикл и убить его?

Спасибо, Сэм

Вы можете попробовать использовать pstree найти оболочку где for выполнен.

Например, я запускаю цикл с командой for i in {1..1000}; do sleep 5; doneтогда я делаю pstree -p | grep sleepсм. вывод | -sshd(29695)---sshd(29707)---bash(29709)---sudo(29735)---bash(29736)---sleep(3843). затем kill -9 29736 kill shell, где выполняется цикл, и остановить его.