diff --git a/pkg/pod/pods.go b/pkg/pod/pods.go
index <HASH>..<HASH> 100644
--- a/pkg/pod/pods.go
+++ b/pkg/pod/pods.go
@@ -269,7 +269,7 @@ func getPod(dataDir string, uuid *types.UUID) (*Pod, error) {
 
 	p.FileLock = l
 
-	if p.isRunning() {
+	if p.isRunning() || p.isExit() {
 		cfd, err := p.Fd()
 		if err != nil {
 			return nil, errwrap.Wrap(fmt.Errorf("error acquiring pod %v dir fd", uuid), err)
@@ -1200,6 +1200,11 @@ func (p *Pod) IsFinished() bool {
 	return p.isExited || p.isAbortedPrepare || p.isGarbage || p.isGone
 }
 
+// isExit returns true if the pod is in exited states
+func (p *Pod) isExit() bool {
+	return p.isExited
+}
+
 // AppExitCode returns the app's exit code.
 // It returns an error if the exit code file doesn't exit or the content of the file is invalid.
 func (p *Pod) AppExitCode(appName string) (int, error) {
list: add ip of non running pods to the json format