我试图设立卡桑德拉本地LaunchAgent和正在运行到自bin/cassandra
的问题仅仅是一个shell脚本启动:OSX LaunchAgent的应用程序,启动另一个应用程序
/usr/bin/java -ea -javaagent:blah blah blah blah blah blah blah
我LaunchAgent启动脚本,但要么永远不会启动cassandra或不允许它产生子进程,或者,我不完全确定发生了什么,但似乎我已经遇到过这个问题。我知道得到这个工作的唯一方法是我从LaunchAgent改变:
<?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>com.cassandra.agent</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>root</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/cassandra/bin/cassandra</string>
</array>
<key>WorkingDirectory</key>
<string>/path/to/cassandra/bin</string>
</dict>
</plist>
到...
...
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-ea</string>
<string>-javaagent:blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
</array>
我想知道,如果有人知道我怎么能只是参考外壳从LaunchAgent的脚本,而不是拉动所有的参数ps aux
您是否尝试过与实际外壳的可执行文件,应执行预先设置shell脚本脚本,即/ bin/sh? –
@tommyd - 不错的想法,但没有运气:(同样的事情 - 立即检查显示进程'/ bin/sh/path/to/bin/cassandra',但几毫秒后,进程不见了 –