mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2024-12-23 23:07:49 +08:00
28 lines
519 B
Go
28 lines
519 B
Go
|
package service
|
||
|
|
||
|
import (
|
||
|
"github.com/1Panel-dev/1Panel/backend/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
|
||
|
}
|