Email or username:

Password:

Forgot your password?
Top-level
mintbug

Так-то я часто запускаю всякий бред, который приходится прибивать, но обычно проблема решаестся <c-c> или использованием htop'а. Но некоторый бред это не останавливает. Недавно листал вводную статью по Haskell и интереса ради запустил в интерпретаторе вычисление бесконечного списка. Так он мне систему намертво повесил, даже в tty переключиться не получается. Видимо, это происходит, если запускать бред в многопоточном режиме (хотя я без понятия, работает ли в многопоточном режиме интерпретатор).

3 comments
mintbug

Или форкбомба из #nvim'ов. Доигрался с PATH'ом, пытаясь сделать обёртку над man'ом, в итоге первый neovim запускал второй neovim, второй — третий, и пока ресурсов компа хватит. В этом случае система начинала тормозить плавно, но мне проще перезагрузиться, чем пытаться прибить все эти несчастные neovim'ы. Хотя, наверное `pkill nvim` могло бы помочь. Такой вот процесс отладки: поправил, запустил, перезагрузился :blobcatchewwire:

Мя :sparkles_lesbian:

@mintbug а зачем делать обертку над man-ом... можно просто alias man='man --pager=nvim'

mintbug

@mo если установлена переменная окружения NVIM, то кастуется `nvim --server $NVIM --remote-send "<cmd>Man $argv<cr>"`, то бишь команда отсылается родительскому процессу, чтобы не запускать редактор внутри редактора. В противном же случае при наличии gui запускается neovide, без наличия графики — `nvim "+hide Man $argv"` как резервный вариант.

Это всё можно было бы спокойно упаковать в какой-нибудь manwrap-скрипт, но в fish из коробки идёт хоткей для вызова справки (который из всей командной строки вычленяет ближайшую команду), а там под копотом в функции вызывается man. Мне не захотелось копировать ~90 строчек кода только для того, чтобы заменить man на manwrap, поэтому я применяю чёрную магию: запускаю `PATH=~/.config/fish/scripts:"$PATH" __fish_man_page` (добавляю в PATH поддельный man), а уже в скрипте удаляю первый каталог из PATH, чтобы запустить настоящий man. И если криво это сделать, получится рекурсия :ablobcatrainbow:

@mo если установлена переменная окружения NVIM, то кастуется `nvim --server $NVIM --remote-send "<cmd>Man $argv<cr>"`, то бишь команда отсылается родительскому процессу, чтобы не запускать редактор внутри редактора. В противном же случае при наличии gui запускается neovide, без наличия графики — `nvim "+hide Man $argv"` как резервный вариант.

Go Up