Passar flags para xargs

0

Eu quero matar um monte de processos usando este comando:

sudo ps ax | grep node | awk '{print $1}' | xargs kill

Mas isso me dá uma operação não permitida mesmo com o sudo.

Então eu tentei com kill -9 individualmente para cada processo e funcionou.

Agora, minha pergunta é como eu passo -9 flag para matar via xargs?

Nether xargs kill -9 ou xargs -9 kill funcionou para mim.

    
por Mohsen 21.09.2013 / 03:31

2 respostas

1

Apenas o primeiro comando nesse pipeline ( ps ax ) está sendo executado como root. O restante da linha (incluindo o comando kill ) está sendo executado como seu usuário não root normal.

Para executar a raiz kill as, você precisa executá-la assim:

ps ax | grep node | awk '{print $1}' | sudo xargs kill -9

ou

ps ax | grep node | awk '{print $1}' | xargs sudo kill -9

alternativamente, se você tiver pkill instalado, poderá executar:

sudo pkill -9 node
    
por 21.09.2013 / 03:36
1

Você precisa do sudo no kill.

ps ax | grep node | awk '{print $1}' | xargs sudo kill -9

    
por 21.09.2013 / 03:35