Ho creato un gulpfile.js
per avviare i miei server, e il suo contenuto può essere visto sotto.Come uccidere tutti i server in esecuzione in gulp utilizzando un comando bash
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'));
Il problema è se meno crash preprocessore per qualsiasi motivo, il gulpfile.js daemon esce male. I processi figlio python manage.py runserver
python -m SimpleHTTPServer
aptly api serve
saranno ancora in esecuzione.
Ho dovuto fermamente risolvere questi utilizzando uno ps -aux | grep runserver
e simili per trovare il PID da eliminare tramite sudo kill -9 $PID
.
C'è un modo per uccidere tutti i processi direttamente se il mio gulpfile.js si arresta in modo imprevisto?
Potreste trovare 'pkill -f runserver' che rende l'ultima parte più agevole, almeno. –
Sì, lo so, ma ancora una volta, devo sparare tre comandi pkill. Sto cercando di combinare questi comandi in uno solo. – python
Sto pianificando di scrivere solo uno script bash per uccidere tutti i server. Pensi che sia una buona idea? o ci sono alcuni metodi migliori là fuori – python