20250312
This commit is contained in:
parent
b11ae2e5c1
commit
cb8bbbf313
10
main.go
10
main.go
@ -30,7 +30,7 @@ var (
|
|||||||
Protocol *string // BPF 过滤器
|
Protocol *string // BPF 过滤器
|
||||||
|
|
||||||
IPSET_NUMBER int // 当前使用的 ipset 集合编号
|
IPSET_NUMBER int // 当前使用的 ipset 集合编号
|
||||||
MAX_IPSET_NAME = 10 // 最大 ipset 集合数量
|
MAX_IPSET_NAME = 12 // 最大 ipset 集合数量
|
||||||
IPSET_NAME string // 当前使用的 ipset 集合名称
|
IPSET_NAME string // 当前使用的 ipset 集合名称
|
||||||
|
|
||||||
IpList = list.New() // 存储 IPv4 地址的链表
|
IpList = list.New() // 存储 IPv4 地址的链表
|
||||||
@ -41,7 +41,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// 启动子进程
|
// 启动子进程
|
||||||
func startChildProcess() (*exec.Cmd, error) {
|
func StartChildProcess() (*exec.Cmd, error) {
|
||||||
args := []string{}
|
args := []string{}
|
||||||
for _, arg := range os.Args[1:] {
|
for _, arg := range os.Args[1:] {
|
||||||
if !strings.HasPrefix(arg, "-child") { // 只过滤 -child 标志
|
if !strings.HasPrefix(arg, "-child") { // 只过滤 -child 标志
|
||||||
@ -61,7 +61,7 @@ func startChildProcess() (*exec.Cmd, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 停止子进程
|
// 停止子进程
|
||||||
func stopChildProcess(cmd *exec.Cmd) error {
|
func StopChildProcess(cmd *exec.Cmd) error {
|
||||||
if cmd == nil || cmd.Process == nil {
|
if cmd == nil || cmd.Process == nil {
|
||||||
return fmt.Errorf("子进程无效")
|
return fmt.Errorf("子进程无效")
|
||||||
}
|
}
|
||||||
@ -107,7 +107,7 @@ func waitForSignalAndCleanUp(cmd *exec.Cmd) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := stopChildProcess(cmd); err != nil {
|
if err := StopChildProcess(cmd); err != nil {
|
||||||
log.Fatalf("清理子进程时遇到错误: %v", err)
|
log.Fatalf("清理子进程时遇到错误: %v", err)
|
||||||
}
|
}
|
||||||
fmt.Println("主进程退出")
|
fmt.Println("主进程退出")
|
||||||
@ -262,7 +262,7 @@ func RunMainProcess() { // 主进程逻辑
|
|||||||
|
|
||||||
fmt.Println("主进程启动...")
|
fmt.Println("主进程启动...")
|
||||||
|
|
||||||
cmd, err := startChildProcess()
|
cmd, err := StartChildProcess()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("子进程启动失败: %v", err)
|
log.Fatalf("子进程启动失败: %v", err)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user