Uma solução hacky simples para ter o utilitário como nohup , mas para SIGUSR1 , seria obter uma cópia de coreutils source, descompacte, faça
sed -i 's/SIGHUP/SIGUSR1/' /path/to/coreutils/src/nohup.c
, opcionalmente, também altera o nome do arquivo de saída
sed -i 's/nohup\.out/nousr1.out/g' /path/to/coreutils/src/nohup.c
, compile esta fonte e instale o binário nohup recém-compilado em /usr/bin/nousr1 :
cp /path/to/coreutils/src/nohup /usr/bin/nousr1
Depois disso, conforme eu verifiquei, sleep 1000 sai em USR1 , enquanto nousr1 sleep 1000 está imune a esse sinal.