Jump to content

Launchctl not passing start|stop parameter to wrapper script


  • Please log in to reply
No replies to this topic

#1
r.davis

r.davis

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
Hi,

I'm trying to create a plist that calls a shell script wrapper. I've verified that launchctl is calling my shell script, but it never passes the 'start|stop|restart' argument. All the wrapper-script example on the net use the RunService method (in /etc/rc.common).

How do I write my plist and/or run launchctl, such that it actually passes the $1 parameter necessary to get RunService to work?

My plist looks as follows:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/
DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>EnvironmentVariables</key>
<dict>
</dict>
<key>Label</key><string>TuxedoHub</string>
<key>OnDemand</key><false/>
<key>ProgramArguments</key>
<array>
<string>/Library/TuxHub/jail/home/tux/bin/tux-launchd.sh</string>
</array>
<key>RunAtLoad</key><true/>
<key>ServiceDescription</key><string>TuxHub</string>
<key>StandardErrorPath</key><string>/Library/TuxHub/jail/home/tux/logs/launchd.stderr</string$
<key>StandardOutPath</key><string>/Library/TuxHub/jail/home/tux/logs/launchd.stdout</string>
<key>UserName</key><string>root</string>
</dict>
</plist>



tux-launchd.sh looks as follows

<snip>
!/bin/bash

source /etc/rc.common

echo "Param-count: $#"

StartService() {
echo "start"
}

StopService() {
echo "stop"
}

RestartService() {
echo "restart"
}

RunService "$1"

<snip>


When I look in my log files (/Library/TuxHub/jail/home/tux/logs/launchd.stdout)
All I see is
Param-count: 0
Param-count: 0
Param-count: 0
Param-count: 0
Param-count: 0
...


Thanks in advance

r.davis





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy