O sinal %
introduz uma especificação de trabalho . Simplificando, um job é um processo que foi iniciado pelo shell e pode ser executado em primeiro plano (se for, você não pode interagir com o shell), executando em segundo plano, suspenso ou já morto (mas a casca ainda não notou, caso contrário o trabalho iria embora).
%1
significa o trabalho que é a primeira entrada na tabela de tarefas do shell. Números de trabalho em instâncias de shell diferentes não estão relacionados e não estão relacionados ao ID do processo. Você pode usar o comando jobs
para ver uma lista de tarefas nesse shell. Outros comandos úteis para manipular tarefas são fg
e bg
, para mover um trabalho para o primeiro ou segundo plano, respectivamente. Outras formas de manipular trabalhos são pressionando Ctrl + Z para suspender o trabalho em primeiro plano e executar um comando com &
no final para enviá-lo diretamente para o futuro.
Existe um utilitário kill
independente e também um shell chamado kill
. O comando existe como um utilitário separado para que possa ser chamado de outros programas sem iniciar um shell. O comando existe como um shell embutido para que possa ser chamado mesmo se não houver recursos suficientes para iniciar um processo kill
e para que ele possa entender as estruturas de dados internas do shell.
Jobs são uma estrutura de dados do shell interno, portanto, o comando kill
externo não os conhece. A página man documenta o comando externo. Para encontrar documentação sobre os recursos kill
relacionados a jobs, consulte a documentação do seu shell, por exemplo bash ou zsh . Em seguida, consulte a seção sobre trabalhos: bash , zsh . O manual do shell também é onde os comandos jobs
, fg
e bg
estão documentados.