My purpose is to launch my application during every login but is being launched multiple times.
I copied my below plist file in to /Library/LaunchAgents and gave root ownership and chmod 600
<?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>Label</key> <string>en com.test.UserAgent</string> <key>ProgramArguments</key> <array> <string>/Applications/Test/Test Agent.app/Contents/MacOS/Test Agent</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
When I login it loads and I can see it in launchctl list as
825 0 com.test.UserAgent 825 ==> Pid of my running application
When I quit my agent manually I see
_ 0 com.test.UserAgent - ==> Which means application is currently not running
Then I relaunched my application manually
I see this in launchctl list
7075 0 com.test.workagent.30264 7075 ==> Pid of my application running
After some time my launchd is also trying to load launch agent service I see another instance of my application is being run.
8124 0 com.test.UserAgent ==> LaunchAgent Service 7075 0 com.test.workagent.30264. ==> Manually launched from applications
Expected behaviour is launch agent service should not launch my application again other than during login time
P.S: My Application is an agent with below setting in info.plist
Application is agent (UIElement) : YES