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.