reaper

command module
v0.0.0-...-96b568c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2019 License: MIT Imports: 3 Imported by: 0

README

Reaper

"reaper" utilizes the reap package to build an executable intermediary process runner. This runner is meant to be executed by other Go programs, in order to create detached processes for them.

Installation

Run go get github.com/foresthoffman/reaper

In order for the reaper executable to work, you must have $GOPATH/bin in your $PATH environment variable.

Importing

This package is not a library. It provides an executable that can be used by other programs, therefore importing it doesn't do anything.

Usage

Here's a simple example of the syntax:

package main

import (
	"bytes"
	"fmt"
	"os/exec"
	"strconv"
)

func main() {

	// prepare a buffer, to which the PID will be written
	var stdout bytes.Buffer

	// prepare the command
	sleepCmd := exec.Command("reaper", "-cmd='sleep'", "-args='30'")
	sleepCmd.Stdout = &stdout

	// run the command
	err := sleepCmd.Run()
	if nil != err {
		panic(err)
	}

	// convert the PID string to a valid integer
	pidInt, err := strconv.ParseInt(stdout.String(), 10, 64)
	if nil != err {
		panic(err)
	}
	pid := int(pidInt)
	fmt.Printf("Created a detached process with an ID of %d!\n", pid)
}

That's all, enjoy!

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL