como posso executar mais de um comando ao mesmo tempo? (OS = sol solaris)

como posso executar mais de um comando ao mesmo tempo? (OS = sol solaris)

como posso executar mais de um comando ao mesmo tempo? (OS = sol solaris)

Responder1

Fico feliz em ver que você está disposto a aprender shell, como sugeri anteriormente em outra pergunta. :-)

Para colocar o comando em segundo plano e deixá-lo executar lá:

yourcommand &

Para voltar a esse processo (se apenas um processo em segundo plano tiver sido iniciado):

fg

Para listar todos os processos em segundo plano:

jobs -l

Se você quiser apenas executar um comando, depois outro e depois outro....

yourcommand && yourothercommand && youryetanothercommand

O exemplo acima prosseguiria para o próximo comando somente se o comando anterior fosse bem-sucedido sem erros. Se você não se importa se o comando anterior foi bem-sucedido ou não, você pode fazer

yourcommand; yourothercommand; youryetanothercommand

Além disso, o comando screenserá seu novo melhor amigo. Ele permite que você inicie um processo em sua própria "tela", que você pode desconectar e reconectar posteriormente, para que você possa, por exemplo, conectar-se a um servidor a partir do computador desktop da sua empresa, iniciar uma tela e deixar um comando de longa execução ser executado lá, desconecte a sessão, vá até o laptop da sua empresa, conecte-se a esse servidor e reconecte a sessão e veja o que aconteceu enquanto isso.

De qualquer forma, tudo isso é o tipo de básico que eu não deveria explicar para você; vá e leia um tutorial para começar! Apenas Google paratutoriais bash, se o seu shell for bash. Você parece estar usando o Solaris, então seu shell pode muito bem sercsh, nesse caso google portutoriais de csh. Eles são semelhantes entre si, mas algumas diferenças se aplicam, por exemplo, a variáveis ​​de ambiente.

Responder2

Você não está tentando executar dois comandos ao mesmo tempo, mas deseja executar um segundo comando na saída do primeiro. SvenW já mencionou o argumento -exec para encontrar, mas outra maneira é usar xargs, que permite usar a saída de um comando canalizado como argumento para outro comando.

Digamos que você queira encontrar todos os diretórios chamados foo e ver as permissões de todos os arquivos desse diretório:

encontrar / -type d -name 'foo' -print0 | xargs -0 ls -la

(Veja as páginas de manual para find e xargs para uso de -print0 e -0 se necessário.)

Responder3

Por favor, explique o que você deseja fazer, porque há muitas maneiras de fazer isso.

  • Você pode encadear comandos comocommand1; command2
  • Você pode colocar comandos de longa duração em segundo plano com & likecommand &
  • Você pode usar screen (altamente recomendado man screen) para ter vários consoles virtuais em execução ao mesmo tempo, mesmo depois de desconectar.
  • Você pode escrever scripts de shell
  • etc etc.

Leia qualquer guia para iniciantes em Linux/Unix, isso será explicado em detalhes.

Além disso, este não é um fórum para iniciantes para aprender os fundamentos. O tipo de perguntas que você faz é mais adequado no site irmãosuperusuário.com.

informação relacionada