@@ -36,6 +36,7 @@ import (
36
36
"github.com/intel/cri-resource-manager/pkg/cri/resource-manager/visualizer"
37
37
"github.com/intel/cri-resource-manager/pkg/instrumentation"
38
38
logger "github.com/intel/cri-resource-manager/pkg/log"
39
+ "github.com/intel/cri-resource-manager/pkg/pidfile"
39
40
40
41
policyCollector "github.com/intel/cri-resource-manager/pkg/policycollector"
41
42
"github.com/intel/cri-resource-manager/pkg/utils"
@@ -118,6 +119,10 @@ func NewResourceManager() (ResourceManager, error) {
118
119
}
119
120
120
121
if err := m .setupRelay (); err != nil {
122
+ pid , _ := pidfile .Read ()
123
+ if pid > 0 {
124
+ m .Error ("looks like we're already running as pid %d..." , pid )
125
+ }
121
126
return nil , err
122
127
}
123
128
@@ -165,6 +170,13 @@ func (m *resmgr) Start() error {
165
170
return resmgrError ("failed to start CRI relay: %v" , err )
166
171
}
167
172
173
+ if err := pidfile .Remove (); err != nil {
174
+ return resmgrError ("failed to remove stale/old PID file: %v" , err )
175
+ }
176
+ if err := pidfile .Write (); err != nil {
177
+ return resmgrError ("failed to write PID file: %v" , err )
178
+ }
179
+
168
180
if opt .ForceConfig == "" {
169
181
if err := m .configServer .Start (opt .ConfigSocket ); err != nil {
170
182
return resmgrError ("failed to start configuration server: %v" , err )
0 commit comments