На каком хосте зависает эта параллельная команда?

Целью этих файлов является обеспечение простого средства для других процессов для связи с ними (например, передачи сигналов). Это имеет смысл только для длительных служб, поэтому вы находите гораздо меньше таких файлов, чем запущенные процессы.

Обычно эти файлы создаются службой, которую они представляют, в вызове можно найти параметр --pid-file или около того.

В зависимости от типа init-system вы найдете файлы для служб в разных местах.

  • sysv-init: /etc/init.d/
  • upstart: /etc/init/
  • systemd: /etc/systemd/

-121--41143-

Невозможно надежно проверить, действительно ли терминал поддерживает курсив. Проверяя выходные данные tput sitm или tput ritm , можно проверить, не имеет ли значение $ TERM и соответствующее ему описание терминала утверждения для его поддержки - но утверждение и фактическое поведение могут быть легко несинхронизированы в любом направлении.

Я действительно сомневаюсь, что консоль Linux поддерживает или будет поддерживать курсив в обозримом будущем.

-121--64148-

Рекомендуется настроить визуально различимую подсказку. Мой один является примерно таким образом (он полужирный, курсив, и золотистый цвет (требуется поддержка 256 цветов)):

PS1 = $\\[\E [0; 1; 3; 38; 5; 136 m\\] blahblah $\\[\E [m\\] '

Кроме того, когда я повторно выполняю команду, которая производит много выходных данных Гораздо проще обнаружить этот «пробел», оглядываясь назад.

2
08.03.2018, 12:52
3 ответа

Puedes saberlo con el comando ps.

Vuelva a ejecutar su secuencia de comandos, espere hasta que se cuelgue y luego ejecute:

ps -elf | grep ssh

Debería ver el proceso sshpara el nodo en el que se ha "colgado".

1
27.01.2020, 22:03

Usaría--timeout 1000%:Si un trabajo tarda 10 veces más que el tiempo de ejecución típico, elimínelo.

Luego usaría --joblog mylogpara ver qué trabajo agotó el tiempo de espera (exit val = -1 ).

También puede usar--nonall(en lugar de-q ssh)y --tagpara ver qué trabajos se completaron (y así deducir cuál está atascado ).

2
27.01.2020, 22:03

Я нашел решение без параллелей.

Я запускаю его себе

for host in host1 host2...; do echo $host; ssh $host tmp/myscript; echo; done

Так я вижу, где он висит.

0
27.01.2020, 22:03

Теги

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