Ich möchte Shell-Skript verwenden Redis-Server zu starten und dann eine Protokolldatei überwachen:make redis Server Strg + C ignorieren, wenn sie von Shell-Skript gestartet
#!/bin/bash
/path/to/redis/src/redis-server &
tail -f /path/to/log/logfile.log
Wenn ich das Skript und drücken Sie Strg + C laufen aus das Terminal, das tail -f
beendet, was ich will, aber das Redis hat auch SIGINT erkannt und verlassen.
Ich habe versucht, das Skript wie folgt zu schreiben:
#!/bin/bash
trap '' INT TSTP
~/redis/src/redis-server &
tail -f ./script1
Dieses Mal die Dinge noch schlimmer, die tail -f
während Redis noch erkannt SIGINT zu beenden abgelehnt und verlassen.
Es scheint, dass es einige Probleme gibt, die Redis in Bezug auf das Ignorieren von Signalen betreffen.
Mein Ziel ist es, tail -f
reagiert auf Strg + C, während Redis dieses Signal ignorieren.
Bitte sagen Sie mir jemand, ob dies erreicht werden kann und wenn ja, geben Sie mir einen Rat?
Kann das Verhalten, das Sie sehen, nicht reproduzieren. Auf welchem Betriebssystem bist du? Welche Version von Redis? – Jack
@Jack, ich benutze Ubuntu 12.04.5 und Redis 3.2.9 – Chris
Eine Umgehungsmöglichkeit könnte es als 'setsid ~/redis/src/redisis-server &' –