O envio de um aplicativo de primeiro plano para o segundo plano requer cooperação do terminal e do shell. O terminal não pode fazer isso sozinho, porque o shell precisa definir o grupo de processos em primeiro plano. O shell não pode fazer isso sozinho, porque o terminal tem que processar a tecla pressionada (o shell não está em primeiro plano, então ele não pode receber um pressionamento de tecla).
Eu tenho um configuração zsh onde eu posso pressionar Ctrl + Z duas vezes em rápida sucessão; a primeira impressora suspende o processo e a segunda impressora a retoma em segundo plano. Eu não sei como portá-lo para bater.
Se você estiver executando um emulador de terminal que permite injetar pressionamentos de teclas, poderá injetar ^Zbg^M
(usando ^
notation para caracteres de controle). Por exemplo, com um emulador de terminal X11, execute xdotool --window 1234 Ctrl_L+Z b g Return
em que 1234 é o ID da janela do emulador de terminal. Com Screen, execute screen -S foo -p 12 -X stuff $'2bg\r'
, em que foo
é o nome da sessão de tela e 12
é o ID da janela.