Armadilha não trapping SIGTSTP

2

Eu tenho um script que continua exibindo o prompt de login:

#!/bin/bash
trap '' 2 20
while true; do
    login
done

Isso faz parte de um projeto maior, então, por favor, não me diga apenas para usar o prompt de login do sistema. Isso precisa ser feito através de um script de shell.

A razão de estar em um loop é quando o usuário efetua logout, o script os coloca de volta no prompt de login.

O único problema é que é possível Ctrl + C ou Ctrl + Z e matar o script e, portanto, o prompt. O trap pára Ctrl + C , mas por algum motivo Ctrl + Z ainda pode ser usado para parar o script . Eu sei que é algo a ver com o comando login porque se eu substituir o login por outro comando como echo hello então Ctrl + Z não parará mais o script (IE continua imprimindo oi).

Como posso capturar Ctrl + Z ?

    
por Cameron Ball 25.07.2014 / 05:46

0 respostas