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

сервер завис из-за while `yes`

На одном из наших серверов я случайно наткнулся на shell / ssh с кодом:

в то время как `` да; do ls; сделано;

И теперь я хочу вернуться к нему, но он все еще завис. Что я могу сделать?

Что ж, если у вас все еще открыта оболочка или вы можете открыть новую оболочку, вы можете убить процесс, ища его с помощью ps aux и grepping для имени сценария оболочки. Как предложил MadHatter, вам следует использовать kill -9 убить процесс.

Если вы не можете подключиться к нему через SSH, вам придется пойти туда, чтобы получить физический доступ, я боюсь (или что-то вроде удаленного доступа), и посмотреть, можно ли его восстановить или нет. В противном случае вам придется вытащить вилку.

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

Если ваша система вообще не отвечает, я не думаю, что вы можете что-либо сделать, кроме аппаратного сброса / перезагрузки.

В многоядерной архитектуре только одно ядро ​​ЦП должно быть занято на 100%. Другие ядра должны быть доступны. Итак, вы сможете подключиться к своему серверу с помощью другой оболочки.