https://github.com/sethfowler/libvoyeur
A BSD-licensed library for observing the private behavior of a process
https://github.com/sethfowler/libvoyeur
Last synced: 15 days ago
JSON representation
A BSD-licensed library for observing the private behavior of a process
- Host: GitHub
- URL: https://github.com/sethfowler/libvoyeur
- Owner: sethfowler
- License: bsd-3-clause
- Created: 2014-02-16T21:34:24.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2014-04-24T04:04:58.000Z (about 12 years ago)
- Last Synced: 2025-03-01T09:44:59.475Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 469 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
libvoyeur
=========
A BSD-licensed library for observing the private behavior of a child process.
Mac OS X and Linux are supported.
The following calls are currently observable:
- Process creation with `exec*`
- File access with `open` and `close`
More are planned. The library has been designed so that adding support for new
calls is easy.
There is a significant performance cost to the observed process, because the
details of the calls are sent to the observing process over IPC, and locking is
required. However, libvoyeur tries to be as efficient as possible: you only pay
a performance penalty for the calls that you actually want to observe.
Compilation
===========
Just run `make`. You can check that everything built correctly with `make check`.
Usage
=====
The program doing the observing must link against `libvoyeur`.
If you link statically, or if the various helper libraries like `libvoyeur-exec`
are not in the same directory as `libvoyeur`, you'll need to tell the library
where to find them using `voyeur_set_resource_path`.
The public API is documented in [voyeur.h](include/voyeur.h).
The [examples directory](examples/) contains some sample programs built using
`libvoyeur`. You can build the examples with `make examples`.