USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
jferland pts/2 jferland:S.1 10:35 2.00s 0.18s 0.18s /bin/bash
jferland pts/3 jferland:S.2 10:35 45.00s 0.18s 0.00s sleep 30
jferland pts/1 jferland:S.0 10:35 0.00s 0.21s 0.00s w
S.0: O que eu estou verificando, então definitivamente 0 tempo lá.
S.1: deixei uma concha aberta. Dois segundos antes de pressionar uma tecla sem pressionar Enter. Assim, qualquer entrada recebida funciona mesmo sem retorno de linha.
S.2: eu corri while true; do echo "foo"; sleep 30; done
. Eu até digitei um personagem no meio dele. Como a entrada foi bloqueada (nunca lida), ainda pareço ociosa.
Conclusão
O tempo ocioso é redefinido quando um caractere é lido a partir da entrada do terminal. A entrada bloqueada não atualiza o tempo ocioso, mesmo que isso afete a exibição da tela. Aplicativos podem atualizar sob regras diferentes. Por exemplo, usei write
, que lê entrada por linha, portanto, atualizou apenas meu tempo ocioso ao pressionar Enter. O mesmo aconteceu com perl
(literalmente executado como perl
sem argumentos).