Adding KeepAlive in LauchDaemon plist
Hi, I am trying to create a Launch Daemon for EnCase binary file. I have to add KeepAlive to the Launch Daemon plist. The process should be alive even if it exists normally (with exit 0) or crashes with error. I tried adding <key>KeepAlive</key> in the Launch Daemon(below) created but this keeps on running the Program Arguments resulting in multiple process of the same binary. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.guidancesoftware.encase</string> <key>ProgramArguments</key> <array> <string>/usr/local/encase/Encase</string> <string>start</string> </array> <key>QueueDirectories</key> <array/> <key>RunAtLoad</key> <true/> <key>WatchPaths</key> <array/> </dict> </plist> Someone help me in changing the LauchDaemon plist so that the process kickstart if the Encase process exits? Thanks & Regards, Karthikeyan M
On 2011 Sep 20, at 07:14, Karthikeyan M wrote:
I tried adding <key>KeepAlive</key> in the Launch Daemon(below) created but this keeps on running the Program Arguments resulting in multiple process of the same binary.
That's really weird. If launchd thinks that a KeepAlive process is not running, it will try to relaunch every 10 seconds. So, I would expect you'd have 12 processes running after 2 minutes, 24 processes after 4 minutes, etc. Is that what you are seeing?
participants (2)
-
Jerry Krinock
-
Karthikeyan M