Restaurar o cliente tmux após o suspend-client

1

Nas minhas ligações, o prefixo + CTRL-Z aciona o comando "suspend-client" no tmux. Eu acionei isso muitas vezes por engano e fiquei com um "terminal zumbi" sem prompt e não consigo descobrir como "acordar".

De acordo com a página man do tmux:

suspend-client [-t target-client]
 (alias: suspendc)
 Suspend a client by sending SIGTSTP (tty stop).

Existe um "caminho de volta" ou eu apenas tenho que matar o terminal?

Para que é usado?

    
por Alechan 23.11.2017 / 17:26

1 resposta

0

SIGTSTP é canonicamente o sinal para suspender um processo em primeiro plano e (quase) o mesmo que ctrl+z . O benefício óbvio é que isso impede o uso de recursos e qualquer outro impacto que possa ter; Congela o estado do processo e gera controle para o processo pai. O benefício menos óbvio é o componente TTY: você recupera imediatamente o controle sobre stdin / out / err e, quando retoma a tarefa, mantém o controle de execução e E / S com bg , como se estivesse executando como prog & , ou liberá-lo com fg ( prog .) Eu sei que o SIGCONT irá retomar o processo, mas não sei se ou como ele decide entre FG / BG.

Agora, a diferença entre SIGTSTP e SIGSTOP é que SIGSTOP não é negociável, enquanto o SIGTSTP pode ser "preso" (manipulado / capturado / etc.) Aqui está um exemplo simples e aqui estão algumas advertências . Tente man 7 signal - você pode encontrar outra colisão, se não uma maneira de usá-los em seu benefício.

Existem alguns comandos "externos" que executam a mesma função - você pode conseguir isso com stty ixon / ixoff , mas eu não sou especialista e não fiz muita coisa com sinais . Talvez guarde uma folha de dicas para quando você começar a testar, porque parece que seria muito fácil bloquear o seu ambiente.

Editar - não ficou totalmente claro na sua postagem - desabilitar a ligação padrão do Tmux resolveria seu problema?

    
por 19.12.2017 / 11:11

Tags