68 строки
1,4 КиБ
Go
68 строки
1,4 КиБ
Go
package os
|
|
|
|
import "syscall"
|
|
|
|
type Signal interface {
|
|
String() string
|
|
Signal() // to distinguish from other Stringers
|
|
}
|
|
|
|
// Getpid returns the process id of the caller, or -1 if unavailable.
|
|
func Getpid() int {
|
|
return syscall.Getpid()
|
|
}
|
|
|
|
// Getppid returns the process id of the caller's parent, or -1 if unavailable.
|
|
func Getppid() int {
|
|
return syscall.Getppid()
|
|
}
|
|
|
|
type ProcAttr struct {
|
|
Dir string
|
|
Env []string
|
|
Files []*File
|
|
Sys *syscall.SysProcAttr
|
|
}
|
|
|
|
type ProcessState struct {
|
|
}
|
|
|
|
func (p *ProcessState) String() string {
|
|
return "" // TODO
|
|
}
|
|
func (p *ProcessState) Success() bool {
|
|
return false // TODO
|
|
}
|
|
|
|
// Sys returns system-dependent exit information about
|
|
// the process. Convert it to the appropriate underlying
|
|
// type, such as syscall.WaitStatus on Unix, to access its contents.
|
|
func (p *ProcessState) Sys() interface{} {
|
|
return nil // TODO
|
|
}
|
|
|
|
// ExitCode returns the exit code of the exited process, or -1
|
|
// if the process hasn't exited or was terminated by a signal.
|
|
func (p *ProcessState) ExitCode() int {
|
|
return -1 // TODO
|
|
}
|
|
|
|
type Process struct {
|
|
Pid int
|
|
}
|
|
|
|
func StartProcess(name string, argv []string, attr *ProcAttr) (*Process, error) {
|
|
return nil, &PathError{"fork/exec", name, ErrNotImplemented}
|
|
}
|
|
|
|
func (p *Process) Wait() (*ProcessState, error) {
|
|
return nil, ErrNotImplemented
|
|
}
|
|
|
|
func (p *Process) Kill() error {
|
|
return ErrNotImplemented
|
|
}
|
|
|
|
func (p *Process) Signal(sig Signal) error {
|
|
return ErrNotImplemented
|
|
}
|