Saya tahu bahwa ada pemetaan kunci untuk membatalkan pembangunan. Tapi saya ingin secara otomatis ketika saya menekan Ctrl + B, itu akan membatalkan yang dibangun sebelumnya.
Apa itu mungkin?
Apakah mungkin, bahwa bangunan "batal" akan melakukan beberapa pekerjaan. Dan bukan hanya menghentikan program (misalnya, mengirim sinyal kill, dan biarkan program NodeJS waktu untuk menutup semua soket ...)
Sebagai contoh:
http.createServer().listen(80)
Ini berfungsi saat pertama kali saya menekan Ctrl + B. tetapi di kedua kalinya, saya selalu tidak dapat mengikat ke port 80 ...
sublime-text-2
sublime-text-3
sublime-text
Aminadav Glickshtein
sumber
sumber
Jawaban:
Buat aplikasi Anda menulis file pid.
Entah di skrip build tempat layanan tersebut ditulis, tulis pid Anda sendiri. Atau dengan layanan itu sendiri, Hal-hal seperti Apache dan NGinx harus menulis di tempat mereka sendiri. Jika ini aplikasi Anda, Anda mungkin mempertimbangkan untuk menulis file pid Anda sendiri. Lokasi yang biasa saya ketahui adalah
/var/run
untuk proses sistem, memulai layanan web mungkin memenuhi syarat, atau~/.appname
, itu file tersembunyi dinamai aplikasi yoru di direktori home Anda.Di Lingkungan WindowsNT, mendapatkan pid Anda mungkin rumit , dan mematikan proses dengan pid ⇗ juga mungkin rumit.
Kode prototipe:
Verbose dan berkomentar: https://gist.github.com/thorsummoner/f1fc7acf94cf9696ef75
Saya tidak bisa memaksakan diri lagi dan ~ 70 baris kode berorientasi fungsi dan dimaksudkan untuk dimodifikasi untuk penggunaan khusus.
Ini juga tidak diuji karena saya tidak memiliki kasus penggunaan yang sangat baik untuk ini.
sumber