2

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

You must log in to answer this question.

Browse other questions tagged .