Ich habe eine gulpfile.js
zum Starten meiner Server erstellt, und der Inhalt kann unten gesehen werden.Wie alle Server im Schluck mit einem Bash-Befehl zu töten
gulp.task('default', function() {
if(!fs.statSync('/etc/aptly.conf').isFile()){
process.exit();
return;
}
console.info('Starting static file server SimpleHTTPServer on 0.0.0.0:8080');
aptly_static = spawn('python', ['-m', 'SimpleHTTPServer', '8080'], {'cwd': '/opt/aptly/public', 'stdio': 'inherit'});
console.info('Starting Django runserver on 0.0.0.0:8000');
django = spawn('python', ['manage.py', 'runserver', '0.0.0.0:8000'], {'stdio': 'inherit'});
console.info('Starting Aptly api serve on 0.0.0.0:4416');
aptly_api = run('aptly api serve -listen="0.0.0.0:4416"').exec().pipe(gulp.dest('/tmp/aptlylog'));
return watchLess('src/**/*.less')
.pipe(debug())
.pipe(reLess)
.pipe(gulp.dest('dist/dist'));
Das Problem ist, wenn weniger Präprozessor aus irgendeinem Grund abstürzt, der gulpfile.js Daemon schlecht beendet. Die untergeordneten Prozesse python manage.py runserver
python -m SimpleHTTPServer
werden weiterhin ausgeführt.
Ich musste diese mühsam beenden, indem Sie eine ps -aux | grep runserver
und ähnliche PID zum Löschen über sudo kill -9 $PID
finden.
Gibt es eine Möglichkeit, alle Prozesse direkt zu beenden, wenn meine gulpfile.js unerwartet abstürzt?
Sie können feststellen, dass 'pkill -f runserver' den letzten Teil zumindest glatter macht. –
Ja ich weiß aber nochmal, ich muss drei pkill Befehle abfeuern. Ich versuche, diese Befehle zu einem zu kombinieren. – python
Ich plane, einfach ein Bash-Skript zu schreiben, um alle Server zu töten. Halten Sie es für eine gute Idee? oder gibt es einige bessere Methoden da draußen – python