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?