mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2024-12-16 01:38:59 +08:00
28 lines
517 B
Go
28 lines
517 B
Go
package service
|
|
|
|
import (
|
|
"github.com/1Panel-dev/1Panel/agent/app/dto/request"
|
|
"github.com/shirou/gopsutil/v3/process"
|
|
)
|
|
|
|
type ProcessService struct{}
|
|
|
|
type IProcessService interface {
|
|
StopProcess(req request.ProcessReq) error
|
|
}
|
|
|
|
func NewIProcessService() IProcessService {
|
|
return &ProcessService{}
|
|
}
|
|
|
|
func (p *ProcessService) StopProcess(req request.ProcessReq) error {
|
|
proc, err := process.NewProcess(req.PID)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if err := proc.Kill(); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|