Ambassador provides a way to communicate between node.js processes.

npm install ambassador
17 downloads in the last month


Ambassador provides a way to communicate between node.js processes.

With ambassador:

  • You could send JavaScript object(or other types of variables) between processes
  • You could safely kill a process which also contains ambassador.


npm install ambassador --save


First of all, ambassador is an EventEmitter.


Process A (pid: 14100)

// Listen to signal 'watch'
require('ambassador').on('watch', function(pid, data){
    console.log('Signal "watch" from process[', pid, '] with data', data);

// So that process A will hang on.

Process B (pid: 14102)

// Send data to process 14100 (A)
require('ambassador').send(14100, 'watch', {
    abc: 1

Then, process A will print:

Signal "watch" from process[ 14102 ] with data {abc: 1}


ambassador.send(pid, signal, data);

Send a signal signal to the process pid with data data

Returns ambassador
pid Number

The pid of the target process

signal String

Signal name

data mixed

The data to be sent

ambassador.on(signal, callback)

Returns ambassador
signal String
callback function(pid, data)

The callback function

pid Number

The pid number from which process the signal has been sent.

data mixed

The received data


If the target process contains ambassador, this method will safely kill that process.

npm loves you