Job control: Como matar um sudo usando o id do job

4

Se eu executar trabalhos com sudo , não posso kill %1 deles (Operação não permitida). Meu primeiro pensamento foi usar sudo kill %1 , mas isso obviamente não funciona porque não usará o bash builtin kill . Existe algum truque para fazer isso funcionar?

// Eu sei como matar um processo através do PID. A questão é especificamente sobre como usar o ID do trabalho para matar um trabalho sudo.

    
por S1lentSt0rm 16.03.2016 / 18:51

2 respostas

4

sudo kill "$(jobs -p %1)"

Esta pergunta é ruim e você deve se sentir mal.

OBSERVAÇÃO: tecnicamente as aspas duplas não são necessárias, porque sabemos que a saída de jobs será um PID e, portanto, não conterá caracteres em $IFS . No entanto, citar variáveis é sempre um bom hábito. E para garantir que você use práticas de codificação de qualidade de forma consistente, elas devem ser hábitos arraigados. $(...) é usado em backticks porque os backticks são a maneira antiga de fazer as coisas e são menos visíveis. $(...) é a nova gostosura, relativamente falando. O novo calor é, neste caso, algumas décadas de idade.

    
por 16.03.2016 / 20:01
0

Funciona se você tentar:

sudo kill -9 <pid>
    
por 16.03.2016 / 19:13

Tags