0.3.3 • Published 8 years ago

process-observe v0.3.3

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

process-observe

Native bindings to observation APIs like sysctl (BSDs), proc/{pid}/ (Linux) and Windows equivalents in the context of process observation.

Build Status Build status js-standard-style Join the chat at https://gitter.im/eljefedelrodeodeljefe/process-observe

NPM

TL;DR

In some cases you have orphaned process or just want to watch certain processes. To work with them from node you need either handles to them or need to observe them first. This module aids those purposes.

// inspect your current process (here assuming that you have just spawned
// a new process), here with async API
observe.children(process.pid, (err, result) => {
	if (err)
		console.log(err)

	console.log(result)
	// -> {pids: [5841], count: 1}
})

Implementation Status

Methodimplemented
.info(pid , cb)yes
.children(pid , cb)yes

Overview

Technical Overview

Rquirements:

  • Node 4.0.0+

Platform

This module is currently tested on:

Platform0.123.04.05.06.0
Mac OS X--yesyesyes
BSDs-----
Linux--yesyesyes
Windows-----

Roadmap

Please see list of the implemented methods for now.

API

ProcessObserve

Kind: global class

processObserve.children(pid, cb) ⇒ Object

Query a process associated with a specified pid for the number of and a list of pids of childnre it has.

Kind: instance method of ProcessObserve
Returns: Object - returns an object with 0 the list of pids and 1 their count

ParamTypeDescription
pidNumberpid to query
cbfunctionoptional callback. If provided sync function will be called on next tick.

Example

const observe = require('process-observer')
// query the OS pid for all its children (100+), here with sync API
observe.children(0)
// -> {pids: [1, 2, 50, ...], count: 121}

// inspect your current process (here assuming that you have just spawned
// a new process), here with async API
observe.children(process.pid, (err, result) => {
  if (err)
    console.log(err)
  console.log(result)
  // -> {pids: [5841], count: 1}
})

processObserve.info(pid, cb) ⇒ Object

Query a process associated with a specified pid a wider process specific data such as a its parent, children, hardware usage etc. (see list TBD)

Kind: instance method of ProcessObserve
Returns: Object - returns an object with process specific data

ParamTypeDescription
pidNumberpid to query
cbfunctionoptional callback. If provided sync function will be called on next tick.

Example

const observe = require('process-observer')
const currenProcess = process.pid
// sync
observe.info(currenProcess)
// -> { pid: 3804, parent_pid: 3803, children_count: 1, children: [ 3805 ]}

// async
observe.info(currenProcess, (err, result) => {
  if (err)
    console.log(err)
  console.log(result)
   // -> {pid: 3804, parent_pid: 3803, children_count: 1, children: [ 3805 ]}
})

License

MIT

0.3.3

8 years ago

0.3.2

8 years ago

0.3.1

8 years ago

0.3.0

8 years ago

0.2.2-beta.5

8 years ago

0.2.1-beta.5

8 years ago

0.2.0-beta.4

8 years ago

0.1.4-beta.3

8 years ago

0.1.3-beta.2

8 years ago