Mate todos os trabalhos enfileirados

1

Eu preciso matar todos os trabalhos enfileirados e em execução no meu ID. Eu tentei

   at -l | awk '{print $1}'| at -r {}

Mas continuo recebendo

   {} does not exist

O que me leva a acreditar que estou analisando a afirmação errada.

    
por mlegge 22.06.2014 / 19:04

1 resposta

2

| canaliza a saída para a entrada padrão do próximo comando, não para seus argumentos de linha de comando.

Para remover todos os trabalhos enfileirados, execute

at -l | awk '{print $1}'| xargs at -r

como alternativa, você pode usar

at -r  $( at -l | awk '{print $1}' )

$( ... ) é substituído pela saída dos comandos que contém.

Veja também esta questão relacionada .

Por favor, note que isso apenas remove os jobs do atq, mas não mata os jobs em execução.

Se a linha de comando do processo corresponder a um PATTERN e não houver outros processos semelhantes em execução no seu nome de usuário, você poderá eliminá-los com

pgrep -u $USER PATTERN
    
por 22.06.2014 / 19:09