AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1527896
Accepted
Chan Kim
Chan Kim
Asked: 2024-09-24 15:21:01 +0800 CST2024-09-24 15:21:01 +0800 CST 2024-09-24 15:21:01 +0800 CST

saída do processo armazenada em buffer e não exibida imediatamente e é exibida quando morta por mim

  • 772

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 cshscript e ele chama makeo 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 $displaychamada de sistema do verilog. Mas se eu usar o comando acima, que está usando pipelineum teecomando, 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 teeprocesso? (Depois de perguntar isso, acho que talvez eu possa matar apenas o teeprocesso e o texto pode voltar a sair normalmente.)

command-line
  • 1 1 respostas
  • 23 Views

1 respostas

  • Voted
  1. Best Answer
    Chan Kim
    2024-09-24T21:36:03+08:002024-09-24T21:36:03+08:00

    Eu encontrei [isso][1] . Então a maneira correta é:

    #!/bin/bash
    dat=$(date +%Y%m%d%H%M)
    unbuffer run_sim xmsclst gemm dcs s xec -post_min -d |& tee logx.$dat
    

    Este unbuffercomando faz com que a saída do programa a seguir não seja armazenada em buffer. para que você possa ver a saída assim que ela for gerada. Descobri que isso funciona. Mas não consegui aplicar isso sem matar o processo em andamento. Matar apenas o pipeprocesso não fez com que a saída armazenada em buffer fosse exibida. [1]: https://stackoverflow.com/questions/11337041/force-line-buffering-of-stdout-in-a-pipeline

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve