Qual é a diferença entre ^ S e ^ Z dentro de um terminal?

6

Ao usar um emulador de terminal, pode-se parar o programa atualmente em execução com CTRL-Z ou CTRL-S . Qual a diferença entre esses caracteres de controle?

    
por Eugene Yarmash 23.05.2011 / 15:01

2 respostas

4

É a diferença entre as ações "parar" e "suspender" no terminal.

Parar a saída com Ctrl-S não impede que o processo seja executado; em vez disso, ele simplesmente interrompe a saída para o terminal (reinicie com Ctrl-Q / "start").

A suspensão de um processo com Ctrl-Z interrompe sua execução e coloca o processo em um estado diferente de ps (estado "T"). Retomar com "fg" ou "bg" para retomar o processo em primeiro ou segundo plano, respectivamente.

    
por 23.05.2011 / 15:16
3

CTRL - Z envia o sinal SIGSTOP , que força o programa a parar.

com

fg

ou

bg

você pode enviar SIGCONT e iniciá-lo na frente ou no plano de fundo.

CTRL - S apenas pára a saída de material para o terminal. (%código%) Você pode ligá-lo novamente com CTRL - Q . ( XOFF )

    
por 23.05.2011 / 15:08