405ca10418
From-SVN: r172106
47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package os
|
|
|
|
import (
|
|
"runtime"
|
|
"syscall"
|
|
)
|
|
|
|
// Process stores the information about a process created by StartProcess.
|
|
type Process struct {
|
|
Pid int
|
|
handle int
|
|
}
|
|
|
|
func newProcess(pid, handle int) *Process {
|
|
p := &Process{pid, handle}
|
|
runtime.SetFinalizer(p, (*Process).Release)
|
|
return p
|
|
}
|
|
|
|
// ProcAttr holds the attributes that will be applied to a new process
|
|
// started by StartProcess.
|
|
type ProcAttr struct {
|
|
// If Dir is non-empty, the child changes into the directory before
|
|
// creating the process.
|
|
Dir string
|
|
// If Env is non-nil, it gives the environment variables for the
|
|
// new process in the form returned by Environ.
|
|
// If it is nil, the result of Environ will be used.
|
|
Env []string
|
|
// Files specifies the open files inherited by the new process. The
|
|
// first three entries correspond to standard input, standard output, and
|
|
// standard error. An implementation may support additional entries,
|
|
// depending on the underlying operating system. A nil entry corresponds
|
|
// to that file being closed when the process starts.
|
|
Files []*File
|
|
}
|
|
|
|
// Getpid returns the process id of the caller.
|
|
func Getpid() int { return syscall.Getpid() }
|
|
|
|
// Getppid returns the process id of the caller's parent.
|
|
func Getppid() int { return syscall.Getppid() }
|