Executa scripts em segundo plano no TTY

0

Existem bastante a poucas perguntas perguntando o que você pode fazer para executar um script de shell em segundo plano enquanto não estiver executando o terminal. A maioria recomendou usar nohup ou disown .

Esta pode ser uma pergunta estúpida, mas eu sou novo no Linux e Ubuntu, mas alguém pode me explicar porque não basta pressionar Ctrl + Alt + 1 ... 6 para abrir um TTY (terminal de teletipo) e executar o script anexado com um & ? Então eu posso apenas escolher outro TTY ou a GUI para continuar o que estiver fazendo. Eu li aqui que eu posso até mais TTYs (embora a resposta não me diga como)

Quais são os prós e contras desta abordagem em relação ao 'comumente aceito' (no SE parece pelo menos)

    
por dayuloli 31.05.2014 / 16:13

1 resposta

1

nohup significa literalmente no hang up ie. faça o processo ignorar o fechamento do terminal. Se você não usar nohup , seu processo será eliminado quando você fechar o terminal (logout).

& significa run in background . Suas teclas pressionadas vão para o processo em primeiro plano. Então, se você usar & , o processo que você iniciar não receberá as teclas pressionadas.

A desvantagem do que você propõe (para executar cada processo em um terminal sobressalente) é que você ficará sem terminais sobressalentes. Você pode querer usar o screen , que permite criar terminais dinamicamente ( ctrl-a c ). Então você pode iniciar todos os processos em um terminal diferente. Você também pode tornar o buffer de rolagem enorme (por exemplo, 5000 linhas) para que você possa rolar para trás e ver todos os dados de log sem ter que redirecioná-lo para os arquivos.

    
por bain 31.05.2014 / 17:48