bjobs
pode listar apenas as tarefas pendentes com -p
. Seria bom se bkill -p
também filtrasse os trabalhos, então bkill -p 0
mataria todos os trabalhos pendentes do usuário.
O melhor que posso pensar é alguma magia de concha. Embora não seja perfeito, deve abranger muitos casos. por exemplo,
bkill 'bjobs -p -o jobid | grep -v ^JOBID | tr '\n' ' ''
bjobs -p -o jobid
listará os IDs de trabalho dos trabalhos pendentes do usuário. grep -v ^JOBID
removerá o cabeçalho. tr
colocará no formato que bkill
espera. Um problema em potencial é que, se a lista de trabalhos for muito longa, o tamanho máximo da linha de comando ou o número máximo de argumentos da linha de comando será excedido, então o bash irá reclamar.
Há uma pequena condição de corrida aqui. Um trabalho poderia começar entre a consulta e o kill.