Macos 使Mac OSX launchctl在启动时以root用户身份启动进程
我的问题是,如何在重新启动后使用launchd start和root权限自动创建MacOSX守护进程 我正在写一个应用程序,用于阻止访问网站的内部使用。它是用python编写的,并修改/ect/hosts文件以禁用或启用列出的URL。主应用程序在django中,我创建了一个PythonTwisted守护程序,它实际修改/etc/hosts文件,因为需要根访问权限 我已经创建了一个plist文件,它只处理一个小问题。重新启动后,守护进程具有我的正常登录权限,而不是根权限 解决方法是使用我的正常权限停止进程,然后使用sudo启动进程Macos 使Mac OSX launchctl在启动时以root用户身份启动进程,macos,daemon,launchd,Macos,Daemon,Launchd,我的问题是,如何在重新启动后使用launchd start和root权限自动创建MacOSX守护进程 我正在写一个应用程序,用于阻止访问网站的内部使用。它是用python编写的,并修改/ect/hosts文件以禁用或启用列出的URL。主应用程序在django中,我创建了一个PythonTwisted守护程序,它实际修改/etc/hosts文件,因为需要根访问权限 我已经创建了一个plist文件,它只处理一个小问题。重新启动后,守护进程具有我的正常登录权限,而不是根权限 解决方法是使用我的正常权限
launchctl unload /Library/LaunchAgents/com.balanceinfosystems.socialshields.twisted.plist
sudo launchctl load /Library/LaunchAgents/com.balanceinfosystems.socialshields.twisted.plist
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.balanceinfosystems.socialshields.twisted</string>
<key>Program</key>
<string>/source/social_shields/social_shields_twisted.py</string>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
标签
com.balanceinfosystems.socialshiels.twisted
节目
/source/social_shields/social_shields_.py
持久连接
您把它放错目录了。LaunchAgent是每个用户运行的进程。系统进程进入/Library/launchdaemon
。它们作为根运行。如果您希望在启动时运行此功能,我建议您通过以下方式明确此功能:
<key>RunAtLoad</key>
<true/>
RunAtLoad