Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Pull request Compare This branch is 20 commits behind cloudfoundry:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
README.md
psnotify.go
psnotify_bsd.go
psnotify_linux.go
psnotify_test.go

README.md

Process notifications for Go

Overview

The psnotify package captures process events from the kernel via kqueue on Darwin/BSD and the netlink connector on Linux.

The psnotify API is similar to the fsnotify package.

Example:

    watcher, err := psnotify.NewWatcher()
    if err != nil {
        log.Fatal(err)
    }

    // Process events
    go func() {
        for {
            select {
            case ev := <-watcher.Fork:
                log.Println("fork event:", ev)
            case ev := <-watcher.Exec:
                log.Println("exec event:", ev)
            case ev := <-watcher.Exit:
                log.Println("exit event:", ev)
            case err := <-watcher.Error:
                log.Println("error:", err)
            }
        }
    }()

    err = watcher.Watch(os.Getpid(), psnotify.PROC_EVENT_ALL)
    if err != nil {
        log.Fatal(err)
    }

    /* ... do stuff ... */
    watcher.Close()

Supported platforms

Currently targeting modern flavors of Darwin and Linux. Should work on BSD, but untested.

License

Apache 2.0

Something went wrong with that request. Please try again.