Preciso eliminar todos os trabalhos na fila e em execução no meu ID. eu tentei
at -l | awk '{print $1}'| at -r {}
Mas eu continuo recebendo
{} does not exist
O que me leva a acreditar que estou analisando a afirmação de forma errada.
Responder1
|
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 na fila, execute
at -l | awk '{print $1}'| xargs at -r
alternativamente, você pode usar
at -r $( at -l | awk '{print $1}' )
$( ... )
é substituído pela saída dos comandos que ele contém.
Veja tambémesta questão relacionada.
Observe que isso apenas remove os trabalhos do atq, mas não elimina os trabalhos em execução.
Se a linha de comando dos processos 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