Как сказать экранной сессии повторно создавать свой сокет?

Решение perl:

$ perl -Mopen=locale -anle 'print $F[0] if /^[[:upper:]]+\b/' file 
VDD
GND
AGNDSUB
VMEASPOS
VMEASNEG
VREFEXT
1
13.04.2017, 15:36
1 ответ

Это произошло со мной, когда я сделал обновление, которое изменило по умолчанию Screendir с несколькими активными сессиями. Как и вы, я не мог убедить его восстановить ФИФО (вероятно, отчет об ошибках стоит подавать где-то в этом), поэтому то, что я в итоге делал, использовал рептир , чтобы перейти на все отношение к новой сессии. Это утомительно, но позволило мне сохранить свое государство (а также узнать немного). Вот шаги, которые я использовал; Это, вероятно, может быть упрощенным или сценарием:

  1. Найти экран PID, который вы хотите перейти, и получить свой список дочерних процессов (я использовал PSTREE -PS $ PID )
  2. для каждого дочернего процесса, Получить его PID и ...
    • Если это оболочка ...
      • Ничто другое запущено, RePTYR $ PID
      • с нормальным процессом, работающим в нем, SIGTSTP IT (k Z или kill -TSTP $ PID ), BG Это, , опираясь $ PID , и RePTYR $ PID; FG .
    • Если есть процесс с детьми , , RePTYR -T $ PID
    • Если есть нормальный процесс, RePTYR $ PID

Это может быть не надежно, а я Закончил с раковинами в раковины и такими людьми, но это может быть хуже.

1
27.01.2020, 23:51

Теги

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