Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

一个go语言库, 用于处理进程相关的操作,如 : fork, 响应kill, 保持进程唯一

Notifications You must be signed in to change notification settings

zh-five/xprocess

Repository files navigation

一个进程处理相关的go语言库

这个是另一个库的升级版 xdaemon

功能速览

支持 linux 和 Windows, 已测试 Ubuntu22.04, windows10

  1. fork 功能: 把go的cli程序自身, 按原样参数另起一个进程
    • xprocess.Fork(): 抛弃子进程所有输出(stdout, stderr)
    • xprocess.Fork2Log():子进程所有输出写入到指定日志文件
    • xprocess.Fork2Std():子进程所有输出输出到父进程输出
    • xprocess.AlwaysFork2Log(): 子进程所有输出写入到指定日志文件, 子进程若退出了总是再启动一个
    • xprocess.AlwaysFork2Std():子进程所有输出输出到父进程输出, 子进程若退出了总是再启动一个
    • xprocess.AlwaysFork():子进程所有输出输出到父进程输出, 子进程若退出了总是再启动一个
    • 支持无限级 fork, 也就是子进程还可以 fork 子进程
    • 支持灵活自定义, 可组合以上功能以及其它
    • Windows下子进程自动隐藏命令行窗口
    • 子进程可脱离父进程运行, 不受父进程退出的影响
  2. 信号监听: 封装标准库 signal 方便使用
  3. 进程唯一性检查和处理
    • xprocess.UniqueCheckAndKillOld(flag string, onKill func()) : 检查进程唯一性,若不唯一则让旧进程退出(软kill)
    • xprocess.UniqueCheck(flag string) bool : 检查进程是否唯一, 可用于新进程退出

快速使用

About

一个go语言库, 用于处理进程相关的操作,如 : fork, 响应kill, 保持进程唯一

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /