Qual é o símbolo da linha de comando Unix para “o PID do último processo suspenso”?

4

Em um console interativo como irb , às vezes algo vai dar errado e o console não responde. Uma solução é suspender o processo e depois matá-lo.

Para suspender o processo, posso pressionar Control+Z . Para matar esse processo, posso executar ps -ef | grep 'irb' para listar todos os processos e mostrar apenas os que contêm 'irb', depois pegar o ID do processo dessa lista e digitar kill [insert PID here] .

Isso é um aborrecimento. Eu sei que há uma maneira de simplesmente suspender o processo e, em seguida, digitar kill [some symbol here] , com o símbolo representando "o último processo que foi suspenso".

Qual é o símbolo da linha de comando para "o PID do último processo suspenso"?

    
por Nathan Long 04.10.2011 / 15:06

2 respostas

14

Você pode estar procurando pela $! variable (manual do bash, seção Parâmetros especiais ).

No entanto, você não precisa do PID - o comando kill interno também aceita identificadores de trabalho , como %2 , que são exibidos quando você pressiona Ctrl-Z ou digita %código%. Você pode usar jobs , % ou %+ para se referir ao último trabalho. (Outras possibilidades estão no manual bash, seção Job Control .)

>>>
[4]+  Stopped                 python
$ kill %4
    
por 04.10.2011 / 15:53
1

jobs -p %

Mostra o PID do último trabalho suspenso (após pressionar Ctrl+z ).

    
por 04.08.2017 / 02:46