processos iniciados nesta sessão

0

Eu abri uma sessão de terminal e iniciei alguns processos com & . Quando tentei fechar a janela do terminal, avisou-me que ainda havia trabalhos em segundo plano.

Eu posso ver os processos em execução com ps , mas como posso saber quais foram iniciados nesta sessão?

    
por Alexandre Santos 11.05.2015 / 23:55

3 respostas

2

jobs -l
Lists process IDs of the active jobs

    
por 12.05.2015 / 00:09
2

Se você quiser encontrar todos os processos em segundo plano iniciados a partir da sessão bash atual, poderá usar o jobs incorporado em bash .

De help jobs :

jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
Display status of jobs.

Lists the active jobs.  JOBSPEC restricts output to that job.
Without options, the status of all active jobs is displayed.

Por outro lado, se você quiser encontrar todos os processos que foram iniciados a partir dessa bash session, use a variável $$ de bash , que fornecerá o PID da instância atual bash . Em seguida, você pode analisar a saída do comando ps -ef para localizar todos os processos cujo ID do processo pai (PPID) é $$ :

ps -ef | grep -P "^[^ ]+\s+[^ ]+\s+$$\s"
    
por 12.05.2015 / 00:32
0

Execute ps -auxf para ver quais shells os processos em segundo plano são filhos de.

    
por 12.05.2015 / 00:07

Tags