cross-spawn-with-kill

Adds cross-platform kill function to cross-spawn processes

Usage no npm install needed!

<script type="module">
  import crossSpawnWithKill from 'https://cdn.skypack.dev/cross-spawn-with-kill';
</script>

README

cross-spawn-with-kill

Adds cross-platform kill function to cross-spawn processes

Build Status Code Coverage Dependencies version downloads MIT License

All Contributors PRs Welcome Donate Code of Conduct Roadmap Examples

Watch on GitHub Star on GitHub Tweet

The problem

cross-spawn is a cross platform solution to node's spawn. However, it doesn't provide a mechanism for "killing" the process after it's begun (in a cross platform manner).

This solution

This solution provides a kill function on the child returned from spawn which will kill the corresponding process when invoked. It does not work with spawn.sync as the process will be finished before your code could run anyway.

Installation

This module is distributed via npm which is bundled with node and should be installed as one of your project's dependencies:

npm install --save cross-spawn-with-kill

Usage

const spawn = require('cross-spawn-with-kill')
const child = spawn('webpack')
child.kill() // <-- that's the ✨ magic ✨ extra function

Inspiration

Big thank you goes to @mysticatea for his original work on npm-run-all from which this project was derived.

Other Solutions

There are none that I'm aware of. The issue on cross-spawn requesting this feature was rejected. Hence the creation of this module.

Contributors

Thanks goes to these people (emoji key):


Kent C. Dodds

💻 📖 🚇 ⚠️

Toru Nagashima

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

LICENSE

MIT