2021-07-11 13:26:51 +00:00
|
|
|
package plugin
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/shirou/gopsutil/v3/process"
|
|
|
|
|
2022-01-05 10:37:45 +00:00
|
|
|
"github.com/drakkan/sftpgo/v2/logger"
|
2021-07-11 13:26:51 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func killProcess(processPath string) {
|
|
|
|
procs, err := process.Processes()
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
for _, p := range procs {
|
|
|
|
cmdLine, err := p.Exe()
|
|
|
|
if err == nil {
|
|
|
|
if cmdLine == processPath {
|
|
|
|
err = p.Kill()
|
2022-01-04 15:07:41 +00:00
|
|
|
logger.Debug(logSender, "killed process %v, pid %v, err %v", cmdLine, p.Pid, err)
|
2021-07-11 13:26:51 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-01-04 15:07:41 +00:00
|
|
|
logger.Debug(logSender, "no match for plugin process %v", processPath)
|
2021-07-11 13:26:51 +00:00
|
|
|
}
|