Qual é o significado de matar % 1

Qual é o significado de matar % 1

Eu vi o seguinte comando:

$ kill %1

Qual é o uso desta afirmação?

Responder1

Brevemente,

Significa matartrabalhonúmero 1, nãoprocessonúmero um.

Os trabalhos podem ser listados com o jobscomando.

De forma mais ampla, refere-se a qualquer shell que você esteja usando, e a sintaxe pode diferir de shell para shell.

Usando o shell bash, um usuário pode ter vários processos (jobs) em execução simultaneamente, cujo processo pai é o shell que você está usando. Noções básicas de controle de tarefas do Google bash

O comando interno kill é usado para enviar um sinal para um desses pipelines de trabalho. Se o sinal específico não for especificado, SIGTERM será usado, o que normalmente encerra (elimina) o trabalho, daí o nome kill. Mas qualquer sinal pode ser especificado, alguns dos quais podem de alguma forma reiniciar o processo ou causar um comportamento de não matar.

Finalmente, %1 é uma maneira (de muitas!) de especificar para qual trabalho você deseja enviar o sinal. %1 refere-se ao trabalho no topo da pilha de trabalhos em segundo plano.

Responder2

Quando você coloca um processo em segundo plano, por exemplo:

# find / &
[1] ....

# ls -lr /usr &
[2] ....

Agora, aqui existem dois processos em execução em segundo plano e conectados ao terminal atual. Se você fizer isso: mate % 1

o primeiro comando 'find' acima será encerrado. Conforme informado por Anders, você pode listar os processos em segundo plano atualmente em execução no terminal e eliminá-los:

# jobs
[1] find / ...
[2] ls -lr ...

# kill %1

informação relacionada