小编Met*_*ind的帖子

无法在优胜美地使用 launchctl 启动守护进程

我有一个 launchd 守护进程,~/Library/LaunchAgents它在小牛队中运行良好。但它不会从优胜美地公开测试版开始。守护进程plist是这样的(我的用户名是darksairUID 501)

<?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>org.darksair.retrmail</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Users/darksair/bin/retrmail.py</string>
    </array>
    <key>KeepAlive</key>
    <false/>
    <key>StartInterval</key>
    <integer>300</integer>
    <key>LaunchOnlyOnce</key>
    <false/>
    <key>UserName</key>
    <string>darksair</string>
    <key>ProcessType</key>
    <string>Standard</string>
    <key>EnvironmentVariables</key>
    <dict>
      <key>PATH</key>
      <string>/Users/darksair/Python/bin:/Users/darksair/Python3/bin:/Users/darksair/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
    <key>StandardOutPath</key>
    <string>/Users/darksair/logs/retrmail.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/darksair/logs/retrmail.log</string>
  </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

基本上它应该~/bin/retrmail.py每5分钟运行一次。

我注意到在 Yosemite 中,launchd 升级到 2.0,并且 launchctl 有新的命令。我试过

sudo launchctl kickstart user/501/org.darksair.retrmail
Run Code Online (Sandbox Code Playgroud)

它说

Could not find service "org.darksair.retrmail" in domain for uid: 501
Run Code Online (Sandbox Code Playgroud)

我也试过老派

sudo launchctl load ~/Library/LaunchAgents/retrmail.plist …
Run Code Online (Sandbox Code Playgroud)

launchd launchctl osx-yosemite macos

28
推荐指数
3
解决办法
6万
查看次数

无法在 OS X 中删除文件

我在垃圾箱中有一个文件,我无法删除它。在你问我 STFW 之前,不,文件没有被锁定:-/

该文件是一个指向任何内容的符号链接(目标已删除)。这是该ls -lO文件的输出:

lrwxrwxrwx  1 1000  _lpoperator  uappnd,nodump,opaque,compressed 22 Apr  3  2009 fly.pdf -> stuff.pdf
Run Code Online (Sandbox Code Playgroud)

的输出rm

$ sudo rm fly.pdf
rm: fly.pdf: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是该文件确实存在,这可以ls通过在 Finder 中打开垃圾箱来确认。如果我使用菜单清空垃圾箱,它会播放该声音并且没有任何反应。如果我尝试安全地清空垃圾箱,它会抱怨没有许可。所以我被卡住了......有什么建议吗?

顺便说一句,有问题的文件位于名为“共享”的卷的垃圾箱中,该卷不是启动卷。

更新:@bug 指出这可能是由于我的链接不透明造成的,并建议在 chroot jail 中将其删除。我试过了,chroot 给了我一个分段错误。这是我为此所做的:我在this之后启用了 root ,并按照 @bug's answer 和this创建了 chroot jail。Chroot 给了我

# chroot /Volumes/Shared
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)

trash macos

5
推荐指数
1
解决办法
4487
查看次数

标签 统计

macos ×2

launchctl ×1

launchd ×1

osx-yosemite ×1

trash ×1