Iniciando o GNU Parallel em segundo plano?

1

É possível iniciar o GNU Parallel em segundo plano ou, de alguma forma, enviá-lo para o segundo plano?

Eu quero fazer isso para que eu possa usar dois comandos que executam parallel ao mesmo tempo.

E por que eu não executo tudo em um comando paralelo? Duas razões:

  1. paralelo desacelera depois de um tempo,
  2. porque eu quero separar para que eu possa parar a execução de um grupo sem parar tudo
por Dominique 10.04.2014 / 02:20

2 respostas

1

É possível executar paralelamente em segundo plano. Recentemente, eu estava trabalhando em scripts similares que eu precisava executar em paralelo e recebi as sugestões em esta resposta. Se você acessar o link especificado como parte da minha resposta, veja a resposta abaixo.

O GNU Parallel pode funcionar como um semáforo de contagem. Isso é mais lento e menos eficiente que o modo normal.

Um alias para parallel --semaphore é sem . O padrão é permitir que apenas um programa seja executado por vez (tecnicamente chamado de mutex). O programa é iniciado em segundo plano. Use --wait para todos os sems terminar:

sem 'sleep 1; echo The first finished' &&
    echo The first is now running in the background &&
    sem 'sleep 1; echo The second finished' &&
    echo The second is now running in the background
  sem --wait

Se você ver os exemplos no link que eu forneci, você pode definitivamente encontrar o que está procurando.

    
por 10.04.2014 / 02:51
0

Freqüentemente gerencio vários grupos diferentes de tarefas em paralelo:

parallel do_stuff ::: x y z

Eu percebo então que do_stuff demora muito para ser executado e que eu quero meu terminal de volta, então pressiono CTRL-Z e digite:

bg

para colocar o trabalho em segundo plano.

Então eu posso começar outro trabalho:

parallel do_other_stuff ::: foo bar baz

Esse novo trabalho será executado em paralelo com do_stuff .

    
por 04.07.2016 / 07:57