package main import ( "sync" "time" ) type eventType int const ( NEWPID eventType = iota PIDEXIT FILEOPEN FILEWRITE TYPENUM ) type Event struct { tag eventType timestamp time.Time pid, ppid int syscall int exit_code uint64 argc int argv []string cwd string syscallParam [4]uint64 pathName string } func (et eventType) String() string { names := []string{"newPid", "pidExit", "open", "write", "typeNum"} if et < NEWPID || et > TYPENUM { return "Unknown" } return names[et] } var wg sync.WaitGroup // 掌管协程 var rawChan chan interface{} // 从接收到整理的管道 var cookedChan chan Event // 整理好的信息的管道 var syscallTable [500]string //记录一下系统调用 var containerdPid int