Desativa ctrl c e ctrl z enquanto um script está sendo executado

3

Eu tenho um script que leva cerca de 45 segundos para ser executado. Como eu posso desabilitar Ctrl - c e Ctrl - z enquanto um script está rodando?

    
por tester787 03.08.2015 / 20:56

1 resposta

7

Embora você possa desabilitar Ctrl - c e Ctrl - z desabilitando as configurações do terminal ou configurando o terminal para processar mais ou outras soluções, geralmente é melhor deixá-las ativadas e reagir aos sinais resultantes . Você pode instalar manipuladores para os sinais e deixar que os manipuladores não façam nada.

A maneira de instalar manipuladores depende da linguagem de programação que você está usando. Você não disse o que está usando, mas aqui estão alguns exemplos:

Shell:

#!/bin/sh

trap '' INT TSTP

Python:

#!/usr/bin/python

import signal

signal.signal(signal.SIGINT, signal.SIG_IGN)
signal.signal(signal.SIGTSTP, signal.SIG_IGN)
    
por 03.08.2015 / 21:02