如果我查看 Dropbox 进程,就会发现它的父进程是 /sbin/launchd。但我在任何标准目录(例如 /System/Library、/Library、~/Library + LaunchAgents、LaunchDaemons)中都找不到引用 Dropbox 的任何 plist 文件。那么它是在哪里启动的呢?
我问这个问题的原因是我想更改 Dropbox 进程运行时的 umask(根据这个问题) 而不必终止它并重新启动它。
更新:如果我运行,launchctl list | grep -i dropbox
我会看到com.getdropbox.dropbox.####
,如果我运行launchctl -x com.getdropbox.dropbox.####
它会输出一个具有相同标签的 plist 文件,但是我已经find
对整个文件系统进行了检查,但该文件没有出现。
答案1
Dropbox 以登录项的形式启动。这些存储在 ~/Library/Preferences/com.apple.loginitems.plist 中,但此 plist 是二进制文件。但是,这里除了要运行的应用程序之外什么都没有。从系统偏好设置中删除登录项中的应用程序足以防止其自动运行,此时可以创建一个新的 launchctl plist 来运行脚本以使用所需的 umask 启动 Dropbox。此外,必须修改 Dropbox 偏好设置(从下拉菜单中)以禁用在“系统启动”时运行 dropbox,否则它会在每次运行时重新添加到登录项中。
答案2
尝试将启动时自动启动的应用程序放置在这些位置,并删除启动时不需要的任何应用程序:
System Preferences > Accounts > yourusername > Login Items
(Lion and ML users: System Preferences > Users & Groups > yourusername > Login Items)
/Library/LaunchAgents/
(Lion and ML users: In Finder, click Go > Go to Folder > then enter the path above)
~/Library/LaunchAgents/
(Lion and ML users: In Finder, click Go > Go to Folder > then enter the path above)
/Library/StartupItems/
(Lion and ML users: In Finder, click Go > Go to Folder > then enter the path above)