@@ -237,6 +237,34 @@ func (s *ProcessStorage) processesReport(waitReportProcesses []*ProcessContext)
237
237
return nil
238
238
}
239
239
240
+ func (s * ProcessStorage ) AddNewProcessInFinder (finder api.ProcessDetectType , processes []api.DetectedProcess ) {
241
+ s .mutex .Lock ()
242
+ defer s .mutex .Unlock ()
243
+
244
+ addProcessBuilder := s .newProcessEventBuilder (ProcessOperateAdd )
245
+ for _ , newProcess := range processes {
246
+ if newProcess == nil {
247
+ continue
248
+ }
249
+ founded := false
250
+ for _ , existingProcess := range s .processes [finder ] {
251
+ if existingProcess .Pid () == existingProcess .Pid () && existingProcess .Entity ().SameWith (existingProcess .Entity ()) {
252
+ founded = true
253
+ break
254
+ }
255
+ }
256
+
257
+ // if not found in existing processes, need to add this process
258
+ if ! founded {
259
+ processContext := s .constructNewProcessContext (finder , newProcess )
260
+ addProcessBuilder .AddProcess (newProcess .Pid (), processContext )
261
+ s .processes [finder ] = append (s .processes [finder ], processContext )
262
+ log .Infof ("detected new process by add process: pid: %d, entity: %s" , newProcess .Pid (), newProcess .Entity ())
263
+ }
264
+ }
265
+ addProcessBuilder .Send ()
266
+ }
267
+
240
268
func (s * ProcessStorage ) SyncAllProcessInFinder (finder api.ProcessDetectType , processes []api.DetectedProcess ) {
241
269
s .mutex .Lock ()
242
270
defer s .mutex .Unlock ()
@@ -269,7 +297,7 @@ func (s *ProcessStorage) SyncAllProcessInFinder(finder api.ProcessDetectType, pr
269
297
processContext := s .constructNewProcessContext (finder , syncProcess )
270
298
newProcesses = append (newProcesses , processContext )
271
299
addProcessBuilder .AddProcess (syncProcess .Pid (), newProcesses [len (newProcesses )- 1 ])
272
- log .Infof ("detected new process: pid: %d, entity: %s" , syncProcess .Pid (), syncProcess .Entity ())
300
+ log .Infof ("detected new process by sync all : pid: %d, entity: %s" , syncProcess .Pid (), syncProcess .Entity ())
273
301
}
274
302
}
275
303
addProcessBuilder .Send ()
0 commit comments