Macos OS X启动脚本在启动时无法运行?
我制作了一个启动脚本,以便在启动时为我运行常规脚本,但我无法让它工作。我正在运行OS X Yosemite 10.10.5。这是我的/Library/LaunchDaemons/com.craig.startup.items文件(我刚刚注意到它没有“.plist”扩展名。我将添加扩展名,并在发布此问题后重新启动):Macos OS X启动脚本在启动时无法运行?,macos,osx-yosemite,launchd,Macos,Osx Yosemite,Launchd,我制作了一个启动脚本,以便在启动时为我运行常规脚本,但我无法让它工作。我正在运行OS X Yosemite 10.10.5。这是我的/Library/LaunchDaemons/com.craig.startup.items文件(我刚刚注意到它没有“.plist”扩展名。我将添加扩展名,并在发布此问题后重新启动): 还涉及到更多脚本,但onlaunchd从未启动,因为我从未在/Users/cliff/startup/status.log中看到日志输出。如果我直接以root用户身份运行它,它就可以
还涉及到更多脚本,但onlaunchd从未启动,因为我从未在/Users/cliff/startup/status.log中看到日志输出。如果我直接以root用户身份运行它,它就可以正常工作。除了可能的扩展之外,我还缺少什么?您应该在重新启动之前运行守护程序:
sudo launchctl load -w /Library/LaunchDaemons/com.craig.startup.items.plist
另外,请设置+x权限chmod+x/Users/cliff/startup/onlaunchd
并更新plist代码:
<?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>Label</key>
<string>com.user.loginscript</string>
<key>Program</key>
<string>/Users/cliff/startup/onlaunchd</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
标签
com.user.loginscript
节目
/用户/cliff/startup/onlaunchd
运行负荷
是否运行了sudo launchctl load-w/Library/LaunchDaemons/com.craig.startup.items.plist
?啊。。。我得到“/Library/LaunchDaemons/com.craig.startup.items.plist:路径的所有权/权限不正确”。我只是将所有权设置为root:wheel,这似乎可以在cmd行中修复它。你为什么不把这条评论移到一个答案上来,这样我就可以接受,如果重启后一切顺利的话?谢谢!:)工作就像一个符咒,但我不能接受这作为一个答案,直到3分钟过去!再次感谢!哦,不,现在当我重新启动时,它似乎没有以root权限运行我的脚本。当我使用你给我的命令行时,它只运行w/root。我以为启动脚本总是以root运行?我是不是遗漏了什么?你把你的主文件夹加密了吗?您可以为单个用户运行脚本。如果这是确定的,您可以将plist放置到~/Library/LaunchAgents
,然后设置正确的权限chown:staff com.crig.startup.items.plist
并启动守护进程launchctl load-w~/Library/LaunchAgents/com.crig.startup.items.plist
。为了测试,请注销登录。我想我的主文件夹是加密的。(不太确定)这是一家新收购的公司,拥有Mac,我仍然不确定正在运行什么样的加密防病毒程序。(他们加上了McAfee和其他一些东西。)我很困惑。如果我以LaunchAgent的形式运行它,那么它将以我的用户权限级别运行,这将不起作用。我需要它以root用户身份运行。我正在尝试在启动时运行kextunload命令来禁用某些内容。这是更核心的目标。
sudo launchctl load -w /Library/LaunchDaemons/com.craig.startup.items.plist
<?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>Label</key>
<string>com.user.loginscript</string>
<key>Program</key>
<string>/Users/cliff/startup/onlaunchd</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>