Ich versuche, ein Shell-Skript (für die Verwendung in Mac OS X-Terminal) zu schreiben, das einen Befehl ausführen wird, um einen Entwicklungsserver (Schluck-Serve) zu starten. Ich habe es funktioniert, außer der Server läuft ständig, so dass es mir nicht erlaubt, nachfolgende Befehle in demselben Fenster einzugeben, ohne den Server anzuhalten (Strg + C). Meine Frage ist, gibt es eine Möglichkeit, kann ich den Prozess im Hintergrund ausführen und/oder unterdrücken alle/alle Ausgaben? Mein Ziel ist es, einen 'stop server' Befehl zu schreiben, der den Prozess abbricht (was ich auch nicht weiß, wie es geht). Ich habe alle Kombinationen der Verwendung von kaufmännisch und &>/dev/null versucht und nichts funktioniert. Hier ist, was ich bisher:Wie führst du einen Shell-Befehl im Hintergrund aus und unterdrückst alle Ausgaben?
if [ "$1" = "server" ]
then
if [ "$2" = "on" ]
then
cd/& gulp serve --gulpfile /server/example/gulpfile.js # the output is still shown
printf "\033[0;32mserver is online.\033[0m\n"
else
killall tail &>/dev/null 2>&1 # this doesn't kill the process
printf "\033[0;32mportals is offline.\033[0m\n"
fi
fi
Dies hat den Trick, danke für die Antwort und die detaillierte Erklärung! Danke auch an @Diego Torres Milano! – robmarston