Estou executando um script que se parece com isso.
#!/bin/bash
dat=$(date +%Y%m%d%H%M)
run_sim xmsclst gemm dcs s xec -post_min -d |& tee logx.$dat
Este run_sim
é outro csh
script e ele chama make
o programa para executar uma simulação longa. (Uma simulação envolvendo arquivos rtl e modelo de nível de porta para o desenvolvimento do nosso chip). O problema que encontrei é:
Normalmente, o progresso da simulação é exibido no shell imediatamente quando o modelo de simulação imprime algo usando a $display
chamada de sistema do verilog. Mas se eu usar o comando acima, que está usando pipeline
um tee
comando, a saída de texto é armazenada em buffer em algum lugar e não é vista na tela imediatamente, então não posso saber o status da simulação. Somente quando pressiono ctrl-C para parar a simulação, então aparecem as linhas de exibição armazenadas em buffer na tela, mas então não consigo retomar minha simulação, porque ela já foi interrompida. Eu sei que se eu não usar o comando pipeline e tee, eu poderia ver a saída conforme a simulação progride, mas eu já comecei a simulação e já se passaram mais de 2 horas e eu não tenho muito tempo para repetir esse processo de simulação hoje. Existe
alguma maneira de eu ver o progresso da simulação sem matar a simulação? e, esperançosamente, sem matar o tee
processo? (Depois de perguntar isso, acho que talvez eu possa matar apenas o tee
processo e o texto pode voltar a sair normalmente.)