La montre gulp est très frustrante car elle meurt rapidement et certains plugins ne peuvent pas attraper d'exceptions. J'ai donc écrit un script Python qui ressuscitera comme un zombie dès sa mort
zombie.py
#!/usr/bin/env python
# -*- codint: utf-8 -*-
import sys
import signal
import subprocess
def rite(silent):
print("start rite of gulp watch be zombie")
print("if you want stop this program, Ctrl+C")
cmd = "gulp watch"
while True:
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
for line in iter(p.stdout.readline, b''):
print(line.rstrip())
if not silent:
print("\a")
print("\ngulp watch is dead. but revive soon.\n")
def signalHandler(signal, frame):
print("\ngulp zombie killed")
sys.exit(0)
if __name__ == '__main__':
signal.signal(signal.SIGINT, signalHandler)
try:
sys.argv.index("-s")
rite(True)
except ValueError:
rite(False)
Mettez ceci au même endroit que gulpfile.js
python zombie.py
Si c'est le cas, même si la montre gulp meurt, elle sera ravivée comme un zombie. À propos, il vous informe généralement de la mort avec un bip,
python zombie.py -s
Si vous le faites, vous pouvez également être silencieux. Vous pouvez également tuer ce zombie avec Ctrl + C comme vous le feriez avec une commande normale. Gist