Node.js exec function to replace running process; like Ruby's exec.
C++ JavaScript Makefile Python
Clone or download
jprichardson Merge pull request #33 from mscdex/patch-1
Remove unnecessary handle scope
Latest commit b9a462e Sep 11, 2016
Failed to load latest commit information.
demo StandardJS Sep 11, 2016
src Remove unnecessary handle scope Sep 11, 2016
test StandardJS Sep 11, 2016
.gitignore Add Node.js v0.11 support Dec 29, 2014
.travis.yml drop support for Node v0.10 Sep 11, 2016 3.0.0 Sep 11, 2016
LICENSE Made Node v0.8 compatible. Sep 19, 2012
Makefile explicitly find npm's node-gyp in make Nov 25, 2015 StandardJS Sep 11, 2016
binding.gyp Port to use `nan` Sep 10, 2016
circle.yml add ci files Oct 21, 2015
index.js index: style change Sep 11, 2016
package.json 3.0.0 Sep 11, 2016

Node.js - kexec

npm Package build status JavaScript Style Guide

This module causes your current Node.js process to be replaced by the process invoked by the parameter of this function. It's like the Ruby exec function. It currently does not work on Windows.

Fully compatible with Node.js version v0.10 and v0.11.


var kexec = require('kexec')

kexec('top') //your process now becomes top, can also accept parameters in one string
var kexec = require('kexec')

kexec('du', [ '-sh', '/etc/fstab' ]) //your process now becomes du, with the arguments indicated


kexec can be called in either of two ways, as indicated by the examples, above.

With one argument arg, that argument must be a string. The resulting system call is:

execvp("/bin/sh", [ "/bin/sh", "-c", arg, 0 ]);

With two arguments, the first (cmd) must be a string, and the second (args) an array of strings. The resulting system call is:

execvp(cmd, [ cmd, args[0], args[1], ..., 0 ]);

In the first case, the command is subject to shell parsing, and shell meta characters retain their special meanings. In the second case, the arguments are passed directly to execvp, without an intervening shell.


(The MIT License)

Copyright (c) 2011-2015 JP Richardson