уничтожение процесса на удаленной машине, когда машина застревает

xrandr выполняется, но сбои. Необходимо прочитать его сообщения об ошибках, они сказали бы Вам что случилось. Вы могли просто поместить весь вывод из своего сценария в файле журнала путем добавления этой строки сразу после #! строка:

exec >/home/hoppe/udev.out 2>&1

Вы найдете, что сообщение:

Can't open display 

Как любые другие X программ, xrandr говорит с X-сервером, обозначенным DISPLAY переменная среды. Необходимо сказать это который дисплей говорить. Никогда, у Вас может быть несколько выполнений X-серверов, некоторые говорящие с аппаратными средствами, некоторое отображение удаленно (например, VNC), некоторые не имеющие видимого дисплея (например, xvfb), и т.д. Открытие, которое X дисплеев подключены к конкретной части аппаратных средств, не легко, но на практике, просто примите это :0 подключен к аппаратным средствам, и все другие не. Так помещает это в Ваш сценарий:

export DISPLAY=:0

После того как Вы разобрались DISPLAY проблема, необходимо будет разрешить тот сценарий получать доступ дисплею. Это не автоматически, даже если сценарий работает как корень, потому что X является сетевым прозрачным: локальному корню нужно только позволить получить доступ к локальным дисплеям, и нет никакого специального механизма для этого, обычный механизм cookie запрашивает корень также. Это покрыто, мной могу запустить графическую программу на рабочем столе другого пользователя как корень?.

6
29.11.2011, 02:09
2 ответа

Если Ваш пользователь запустил процесс, и у Вас только есть доступ удаленно, Ваши опции ограничены.

Я попытался бы удаленно уничтожить процессы, Это может занять время, чтобы быть поставленным в очередь!

ssh -l $USER $HOSTNAME 'pkill -9 MATLAB'

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

ssh -l $USER $HOSTNAME 'pkill -9 -u $USER'

Если бы у Вас есть какой-либо KVM или доступ IPMI, это было бы временем для слома его.

13
27.01.2020, 20:20
  • 1
    , машина не реагирует ни на какой –  Alessandro Cosentino 29.11.2011, 02:23
  • 2
    запроса ssh также, не опция '-p' ssh, должен выбрать порт? –  Alessandro Cosentino 29.11.2011, 02:30
  • 3
    Извините, я по ошибке ввел в MySQL опции user/pass. Сколько времени Вы ожидали машины для ответа? Вы съели все ресурсы, это могло занять время. Это также, почему, Вы хотите сделать команду в соединении. –  J. M. Becker 29.11.2011, 02:37

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

Будьте терпеливы. Если машина подкачивает в большой степени, может потребоваться несколько минут для ответа.

Для будущего сохраните ssh сессию открытой, и имейте идентификатор процесса потенциально неприятного готового процесса. Все основные оболочки имеют kill встроенная команда, так, чтобы можно было уничтожить процесс, даже если машина в большой степени является объектом загрузки или пользователя, достигла своего предела процесса.

Также для будущего, можно ограничить ресурсы, которые процесс Matlab может выделить путем выполнения ulimit команда в оболочке, где Вы запускаете его. В частности, ulimit -Sv 42 ограничит общий объем виртуальной памяти, которую любой процесс может выделить 42 КБ (предел относится к каждому процессу, впоследствии запущенному той оболочкой).

7
27.01.2020, 20:20

Теги

Похожие вопросы