Função shell para verificar se existe um processo suspenso filho desse shell?

3

Gostaria de adicionar um indicador ao meu PS1, mostrando se há um processo suspenso com ctrl + z. Para fazer isso, precisarei de uma função que possa verificar essa situação. Eu nem tenho certeza onde começar a pensar sobre este problema. O Google falhou comigo. Alguma ideia?

    
por JoshuaD 23.12.2015 / 02:09

1 resposta

6

"Processo suspenso com Ctrl + Z" é, na verdade, um subconjunto de "processo suspenso filho desse shell", e é mais fácil rastreá-lo: significa que há um trabalho em segundo plano suspenso.

No zsh, você pode verificar o jobstates array .

echo There are ${#jobstates:#suspended:*} suspended jobs

No bash ou zsh, jobs -s lista apenas os trabalhos suspensos.

echo There are $(jobs -s | wc -l) suspended jobs
    
por 23.12.2015 / 02:26