Documentation ¶
Overview ¶
gproc 包实现了对进程的管理和通信功能。 md5:2bdecc6699345c91
Index ¶
- func X发送数据(进程ID int, 数据 []byte, 可选组 ...string) error
- func X取启动时间() time.Time
- func X取已启动时长() time.Duration
- func X取父进程ID() int
- func X取自定义父进程ID() int
- func X取自进程ID() int
- func X执行cmd(上下文 context.Context, 命令 string) error
- func X执行cmdPANI(上下文 context.Context, 命令 string)
- func X执行cmd并返回(上下文 context.Context, 命令 string, 环境变量 ...[]string) (结果 string, 错误 error)
- func X执行cmd并返回PANI(上下文 context.Context, 命令 string, 环境变量 ...[]string) string
- func X执行cmd管道(上下文 context.Context, 命令 string, 输出管道 io.Writer, ...) error
- func X执行cmd管道PANI(上下文 context.Context, 命令 string, 输出管道 io.Writer, ...)
- func X搜索PATH变量文件(文件名 string) string
- func X搜索工作目录与PATH变量文件(文件名 string) string
- func X是否为子进程() bool
- func X注册信号处理函数(处理函数 X函数类型_SigHandler, 信号 ...os.Signal)
- func X注册关闭信号处理函数(处理函数 ...X函数类型_SigHandler)
- func X监听信号()
- func X自定义父进程ID(父进程ID int) error
- type X函数类型_SigHandler
- type X结构_Manager
- func (m *X结构_Manager) X创建进程(路径 string, 参数 []string, environment []string) *X结构_进程
- func (m *X结构_Manager) X删除进程ID(进程ID int)
- func (m *X结构_Manager) X加入进程ID(进程ID int)
- func (m *X结构_Manager) X发送所有进程信号(信号 os.Signal) error
- func (m *X结构_Manager) X发送所有进程数据(字节集 []byte)
- func (m *X结构_Manager) X发送数据(进程ID int, 数据 []byte) error
- func (m *X结构_Manager) X取成员数() int
- func (m *X结构_Manager) X取所有进程() []*X结构_进程
- func (m *X结构_Manager) X取所有进程ID() []int
- func (m *X结构_Manager) X取进程对象(进程ID int) *X结构_进程
- func (m *X结构_Manager) X清空所有进程()
- func (m *X结构_Manager) X等待所有进程退出()
- func (m *X结构_Manager) X结束所有进程() error
- type X结构_MsgRequest
- type X结构_MsgResponse
- type X结构_进程
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func X取父进程ID ¶
func X取父进程ID() int
X取父进程ID 返回当前进程的系统父进程ID。 请注意,X取父进程ID与PPid函数的区别在于,X取父进程ID返回系统的父进程ID,而如果存在自定义父进程ID,PPid函数可能会返回由gproc设置的自定义进程ID。 md5:f6f56ec93bfd6b19
func X取自定义父进程ID ¶
func X取自定义父进程ID() int
X取自定义父进程ID 返回自定义的父进程ID,如果存在的话,否则返回系统的父进程ID。 md5:177a13dad5ed9a39
func X执行cmdPANI ¶
X执行cmdPANI 执行与 ShellRun 相同的操作,但如果发生任何错误,则会引发恐慌。 md5:b0e6d628208193e7
func X执行cmd并返回PANI ¶
X执行cmd并返回PANI 执行类似于 ShellExec,但如果发生任何错误,它将引发恐慌。 md5:9754cecde7636273
func X执行cmd管道 ¶
X执行cmd管道 函数同步地执行命令 `cmd`,并使用给定的输入管道 `in` 和输出管道 `out`。 命令 `cmd` 从输入管道 `in` 读取输入参数,并自动将其输出写入到输出管道 `out`。 md5:6690cb7819cb1af8
func X执行cmd管道PANI ¶
X执行cmd管道PANI 行为与 Shell 相同,但如果发生任何错误则会引发 panic。 md5:8ffd357cf1ea4dbc
func X搜索PATH变量文件 ¶
X搜索PATH变量文件 在PATH环境变量中搜索二进制文件`file`。 md5:2762ea99f9622d59
func X搜索工作目录与PATH变量文件 ¶
X搜索工作目录与PATH变量文件 在当前工作目录和PATH环境变量中搜索名为`file`的二进制文件。 md5:56a48fa45711f1c2
func X是否为子进程 ¶
func X是否为子进程() bool
X是否为子进程 检查并返回当前进程是否是子进程。 子进程是由另一个gproc进程 fork() 创建的。 md5:9ec53f2cdad75233
func X注册信号处理函数 ¶
func X注册信号处理函数(处理函数 X函数类型_SigHandler, 信号 ...os.Signal)
X注册信号处理函数 为自定义的一个或多个信号添加自定义的信号处理器。 md5:996226c8d75ebdf5
func X注册关闭信号处理函数 ¶
func X注册关闭信号处理函数(处理函数 ...X函数类型_SigHandler)
X注册关闭信号处理函数 为关闭信号添加自定义信号处理器: - syscall.SIGINT(中断信号,通常由Ctrl+C触发) - syscall.SIGQUIT(退出信号,通常通过Ctrl+\触发) - syscall.SIGKILL(杀死信号,不可被捕获或忽略,用于强制终止进程) - syscall.SIGTERM(终止信号,用来请求程序正常退出) - syscall.SIGABRT(异常终止信号,通常由调用abort函数产生,用于指示严重错误) md5:6fd417c58f499e80
Types ¶
type X函数类型_SigHandler ¶
X函数类型_SigHandler 定义了一个用于处理信号的函数类型。 md5:d7319108f37510cd
type X结构_Manager ¶
type X结构_Manager struct {
// contains filtered or unexported fields
}
X结构_Manager 是一个管理多个进程的进程管理器。 md5:608ec304d3cca78a
func (*X结构_Manager) X创建进程 ¶
func (m *X结构_Manager) X创建进程(路径 string, 参数 []string, environment []string) *X结构_进程
X创建进程 创建并返回一个进程对象。 md5:41e1fd6b109e05e7
func (*X结构_Manager) X删除进程ID ¶
func (m *X结构_Manager) X删除进程ID(进程ID int)
X删除进程ID 从当前管理器中移除一个进程。 md5:0076407de3a7d26a
func (*X结构_Manager) X加入进程ID ¶
func (m *X结构_Manager) X加入进程ID(进程ID int)
X加入进程ID 向当前管理器添加一个进程。 如果给定的 `pid` 对应的进程不存在,它不会做任何操作。 md5:c51d5832fb1ce691
func (*X结构_Manager) X发送所有进程信号 ¶
func (m *X结构_Manager) X发送所有进程信号(信号 os.Signal) error
X发送所有进程信号 向当前管理器中的所有进程发送信号 `sig`。 md5:64ce0027dcad8808
func (*X结构_Manager) X发送所有进程数据 ¶
func (m *X结构_Manager) X发送所有进程数据(字节集 []byte)
X发送所有进程数据 将数据字节发送到当前管理器中的所有进程。 md5:05d5ed3b0a5c7e3e
func (*X结构_Manager) X发送数据 ¶
func (m *X结构_Manager) X发送数据(进程ID int, 数据 []byte) error
X发送数据 向当前管理器中的指定进程发送数据字节。 md5:b477f09d2f5cca5f
func (*X结构_Manager) X取成员数 ¶
func (m *X结构_Manager) X取成员数() int
X取成员数 返回当前管理器中进程的数量。 md5:ffaeaa3ed9b66ed1
func (*X结构_Manager) X取所有进程 ¶
func (m *X结构_Manager) X取所有进程() []*X结构_进程
X取所有进程 获取并返回当前管理器中的所有进程。 md5:30ac76e5c68d45de
func (*X结构_Manager) X取所有进程ID ¶
func (m *X结构_Manager) X取所有进程ID() []int
X取所有进程ID 获取并返回当前管理器中的所有进程ID数组。 md5:a5ef21ec52c87400
func (*X结构_Manager) X取进程对象 ¶
func (m *X结构_Manager) X取进程对象(进程ID int) *X结构_进程
X取进程对象 获取并返回一个Process对象。 如果找不到具有给定`pid`的进程,它将返回nil。 md5:d5b11d4d0e9fa1a3
func (*X结构_Manager) X清空所有进程 ¶
func (m *X结构_Manager) X清空所有进程()
X清空所有进程 会清除当前管理器中的所有进程。 md5:26053a86c2f65b33
func (*X结构_Manager) X等待所有进程退出 ¶
func (m *X结构_Manager) X等待所有进程退出()
X等待所有进程退出等待直到所有进程退出。 md5:1d27f65463fe8c00
func (*X结构_Manager) X结束所有进程 ¶
func (m *X结构_Manager) X结束所有进程() error
X结束所有进程 在当前管理器中杀死所有进程。 md5:337f683854b75187
type X结构_MsgRequest ¶
type X结构_MsgRequest struct { X发送方进程ID int // Sender PID. X接收人进程ID int // Receiver PID. X消息组名称 string // Message group name. X响应数据 []byte // Request data. }
X结构_MsgRequest是进程间通信的请求结构体。 md5:aa294ed7aef773f3
func X监听数据 ¶
func X监听数据(可选组 ...string) *X结构_MsgRequest
X监听数据 函数通过本地TCP监听来阻塞并接收来自其他进程的消息。 注意,只有当调用此函数时,才会启用TCP监听服务。 md5:dbf5481b7dcc4222
type X结构_MsgResponse ¶
type X结构_MsgResponse struct { X响应状态码 int // 1: OK; Other: Error. X响应消息 string // Response message. Data []byte // Response data. }
X结构_MsgResponse 是进程通信中的响应结构体。 md5:a2e9e35f8a32b58e
type X结构_进程 ¶
type X结构_进程 struct { exec.Cmd Manager *X结构_Manager PPid int }
X结构_进程 是表示单个进程的结构体。 md5:f6524ce6eee4a18b