From: Adrian Freihofer <[email protected]>

Remove the PID file if the process is not running anymore.
This can happen when a debugger kills the process it debugs.

Signed-off-by: Adrian Freihofer <[email protected]>
---
 meta-selftest/recipes-test/cpp/files/cpp-example.init | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta-selftest/recipes-test/cpp/files/cpp-example.init 
b/meta-selftest/recipes-test/cpp/files/cpp-example.init
index c154fd1126..30b8486eeb 100644
--- a/meta-selftest/recipes-test/cpp/files/cpp-example.init
+++ b/meta-selftest/recipes-test/cpp/files/cpp-example.init
@@ -14,6 +14,11 @@ PIDFILE="/var/run/$DAEMON.pid"
 LOCK_FILE="/var/lock/subsys/$DAEMON"
 
 start() {
+    # A debugger which kills the process it debugs leaves the PID file behind
+    if [ -f $PIDFILE ] && ! kill -0 $(cat $PIDFILE) 2>/dev/null; then
+        rm -f $PIDFILE $LOCK_FILE
+    fi
+
     if [ -f $PIDFILE ]; then
         echo "$DAEMON is already running."
         return 1
-- 
2.55.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243658): 
https://lists.openembedded.org/g/openembedded-core/message/243658
Mute This Topic: https://lists.openembedded.org/mt/120804337/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to