No seu exemplo, o comando kill
é um shell interno (definitivamente em bash
) e permite que extensões como %1
sejam usadas para se referir a processos em segundo plano.
Por outro lado, /bin/kill
é um comando externo e não possui essas extensões. Como é um programa diferente, ele age de maneira diferente. Um /bin/kill
com falha pode ser silencioso, mas define $?
(código de saída) para indicar uma falha.
Quando você executa sudo kill
, está executando implicitamente sudo /bin/kill
.