A função Ctrl/T exibe uma única linha de informações estatísticas sobre o processo atual. Quando você pressiona Ctrl/T durante uma sessão de terminal interativo, ele interrompe momentaneamente o comando, procedimento de comando ou imagem atual para exibir estatísticas. As informações estatísticas incluem os nomes dos nós e dos usuários, a hora atual, o processo atual, o uso da CPU, o número de falhas de página, o nível de atividade de E/S e o uso da memória. Por exemplo:
BOSTON::SMITH 16:21:04 EDT CPU=00:00:03.33 PF=778 IO=296 MEM=277
O que é Linux para OpenVMS DCL Ctrl/T?
Responder1
Sinceramente duvido que exista um análogo exato. A natureza de um processo Linux (e consequentemente de execução de um comando) é tão diferente da natureza de um processo VMS e de como ele executa um comando que nada parecido com isso pode realmente existir.
Pelo que entendi VMS, quando você executa um comando como TYPE SOMEFILE.TXT
, DCL lê o TYPE.EXE na memória domesmo processoem que o DCL é executado, corrige todas as realocações que o TYPE.EXE precisa e então pula para a primeira instrução do TYPE.EXE. Quando TYPE.EXE termina seu trabalho, o sistema operacional retorna o controle para o código DCL que ainda reside no mesmo processo que TYPE.EXE.
Esse processo pesado, que inclui DCL, uma tabela de léxicos e uma conhecida tabela de salto de endereços de várias coisas, permite que Ctrl-T funcione. Essa sequência de teclas é apenas uma forma especial de interrupção do teclado, e o código DCL em qualquer processo pode fazer o trabalho que você descreve.
Um processo Linux nem sempre possui um shell (analógico DCL). Um processo Linux pode nem ter código manipulador de interrupção de teclado registrado no kernel, o que significaria que qualquer interrupção de teclado (Ctrl-C ou Ctrl-) faz com que o kernel faça com que o processo seja encerrado.
Responder2
A família BSD UNIX suporta sinal SIGINFO [1] e caractere de controle VSTATUS [2], normalmente vinculado a Ctrl/T. A saída é semelhante a esta:
load: 0.12 cmd: cat 13579 [ttyraw] 0.00u 0.00s 0% 880k
[1] sinal(7) [2] stty(1)
Responder3
No Linux, dd suporta SIGUSR1 para status: http://man7.org/linux/man-pages/man1/dd.1.html
Sending a USR1 signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying.
No BSD, dd suporta SIGINFO para status: https://www.freebsd.org/cgi/man.cgi?query=dd&sektion=1
Se dd receber um sinal SIGINFO (veja o argumento de status para stty(1)), as contagens atuais de blocos de entrada e saída serão gravadas na saída de erro padrão no mesmo formato da mensagem de conclusão padrão. Se dd receber um sinal SIGINT, as contagens atuais dos blocos de entrada e saída serão gravadas na saída de erro padrão no mesmo formato da mensagem de conclusão padrão e dd será encerrado.
BTW: O programa VMS BACKUP tem uma boa saída para Control-T.