Questions tagged «launchd»

用于启动,停止和管理自动化过程的系统。

2
启动时启动stunnel服务
我有自制服务。只需通过运行命令即可启动此服务 sudo stunnel 我需要这个命令在启动时运行,所以我创建了一个LaunchDaemon但它无法正常工作。这是launchd文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$ <plist version="1.0"> <dict> <key>Label</key> <string>com.stunnel.stunnelstartup.plist</string> <key>ProgramArguments</key> <array> <string>/bin/sh</string> <string>/usr/local/etc/stunnel/startup.sh</string> </array> <key>UserName</key> <string>ROOT</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist> 这是shell脚本: #!/bin/bash #stunnel startup sleep 30 #Delay added for the system to boot properly sudo stunnel 我究竟做错了什么??? …
2 launchd  ssl 

1
运行plist文件时,为什么在控制台中会出现“服务无法初始化”错误?
我已经设置了一个plist文件,并使用加载/启动了它launchd。每当该脚本运行时,我的控制台都会收到以下错误: 12/9/15 12:53:19.344 PM com.apple.xpc.launchd[1]: (kjuvbot[742]) Service could not initialize: 14F27: xpcproxy + 13421 [1402][AD0301K4-D354-31AE-8BA7-B5KBECE64P0B]: 0x2 有谁知道为什么会发生此错误?这是我的.plist文件: kjuvbot.plist <?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>kjuvbot</string> <key>ProgramArguments</key> <array> <string>python3</string> <string>/Users/me/workspace/Learning/src/kjuvbot.py</string> </array> <key>StartInterval</key> <integer>3600</integer> </dict> </plist> 是否偶然需要com.在文件名前面? 这是权限(我自己创建了文件): -rw-r--r--@ 1 me staff 427 Dec …
2 macos  launchd  plist 


2
使用`-d`选项从Launchd启动时记录SSHD?
我正在使用OS X 10.8.5,完全打补丁。我安装了一个更新的OpenSSH服务器 /usr/local/sbin 侦听端口1522.连接尝试导致 ssh_exchange_identification: Connection closed by remote host。 sudo grep 'sshd' /var/log/* 2>/dev/null 在服务器上几乎什么也没有返回,所以我试图在服务器上收集更多关于原因的信息。 根据 man sshd(8), -d 是调试模式,它将详细的调试输出发送到标准错误。我补充道 -d 至 ProgramArguments 在plist,但plist也设置 StandardErrorPath 至 /dev/null。所以我猜测调试信息正在被丢弃。 我检查了 launchctl(1) 手册页,但我看不出我应该怎么做修改 StandardErrorPath 所以它记录在某个地方。手册页甚至没有讨论名称/值对。 我应该如何更改配置,以便在某处记录调试日志记录,我知道“某处”在哪里? $ cat /System/Library/LaunchDaemons/ssh-7.1.plist <?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"> …

1
为什么launchd每个用户有多个实例(不仅是我和root,还有_spotlight和_windowserver)?
我发现launchd进程在进程列表中有多个实例。看起来很有趣的是,有四个用户launchd正在运行这些进程: 根 <current_user [ie me]> _windowserver _聚光灯 如Apple的文档(Creating Launch Daemons and Agents)中所述,launchd将按用户启动。但是为什么用户需要launchd这样的_spotlight和_windowserver。我只期待root和<current_user[i.e. me]>。为什么两个用户(_spotlight和_windowserver)都需要launchd?对于Apple文档或任何其他资源的任何引用,我将不胜感激。 过程父子关系如下: kernel_task(0,root) -> launchd(1,root) -> launchd(130, _windowserver) -> launchd(150, <current_user[i.e. me]>) -> launchd(470, _spotlight)
1 lion  boot  launchd  macos 

0
刚刚启动macOS后,获得了大约4 GB内存消耗的Java进程
我最近发现我的MBP中存在一个超过4 GB内存的Java进程,并且在我强行退出之后它重新生成了。 重新启动计算机并输入后safe mode,该过程不会出现。我删除了我的帐户的所有LoginItem并清除了路径/Library/StartItems/,并以正常模式重新启动。然后问题仍然存在:进入系统大约一分钟后出现了一个java进程。似乎这个过程什么都不做...... 我不知道这个过程来自何处以及如何完全删除它。 操作系统:High Sierra 10.13.2


1
在启动时运行高CPU
我的Mac上的粉丝一直在运行。我为这个问题做了一些解决方案。但是,我没有在system.log上看到任何错误。任何人都可以对我的Mac有更好的推荐。
1 mac  launchd  cpu 

2
Shell或Applescript延迟关机?
我们有一个偶尔使用的工作站,我正在尝试设置一个脚本来在关机时对其进行备份。我在com.apple.loginwindow中创建了一个1行bash脚本的LogoutHook,该脚本触发了一个Applescript,该Applescript比较我自己的日志条目以确定是否应运行备份。如果是这样,它将调用主Applescript来触发Chronosync备份作业。 一切正常...除了在Mac终止并关闭它之前我几乎没有启动备份作业。我想将发布SIGTERM和SIGKILL,并且所有流程都将迅速合规。 我还研究了启动时的“正确”方式(因为不赞成使用LogoutHooks)。“启动”并不真正支持在关机时调度作业:它需要在登录时启动脚本,休眠/等待捕获SIGTERM。同样,这带来了一个问题,即整个系统都在几秒钟内关闭,从网络堆栈到Chronosync守护程序。 shutdown命令的手册页还指出: 关闭后,将向所有正在运行的进程发送SIGTERM,然后发送SIGKILL。SIGKILL将在有意地不确定的时间段之后跟随SIGTERM。程序仅需要足够的时间刷新所有脏数据并退出。 有没有办法在我的脚本完成之前延迟关机?理想情况下,我希望具有与Apple的Software Updater相同的行为,该行为需要在注销计算机之前安装更新,然后才能关闭计算机。

1
Plist未使用launchctl运行AppleScript
我正在尝试安排我的AppleScript以60秒的间隔运行,运行两个shell脚本,并且在60秒后输出两个文件(StandardErrorPath和StandardOutPath)时似乎正确设置了我的plist,但我没有看到结果我的shell脚本看起来就像我在脚本编辑器中运行脚本时那样。对我来说,这似乎意味着ProgramArguments部分没有加载我的AppleScript。谁能指出我正确的方向?我应该在AppleScript中添加某种类型的日志记录来记录我的plist中的错误文件吗? AppleScript文件(Shell脚本在脚本编辑器和终端中正确运行): do shell script "cd /Users/user/Desktop/Projects/node/webmasters-cli && /Users/user/.nvm/versions/node/v4.3.2/bin/node app.js DesktopUSA" do shell script "cd /Users/user/Desktop/Projects/node/webmasters-cli && /Users/user/.nvm/versions/node/v4.3.2/bin/node app.js DesktopAll" plist(位于/ Users / user / Library / LaunchAgents) <?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.webmasters.daily.pull</string> <key>KeepAlive</key> <false/> <key>RunAtLoad</key> <false/> <key>ProgramArguments</key> <array> …

1
启动和停止OS X路由器守护程序
我希望能够停止并(重新)启动OS X路由守护程序并查看路由配置文件。我认为这将涉及使用launchctl卸载和加载,但我不知道路由plist文件的名称...有关如何跟踪它的任何提示?

1
应用所有已知恢复步骤后无法启动
传统的恢复步骤 由于wifi连接问题被迫启动后,启动时仍然停留在灰色屏幕,Apple徽标和转动旋转指示器上。然后我尝试了以下所有解决方案: 以安全模式启动:失败 重置NVRAM:失败 使用恢复磁盘的磁盘实用程序检查磁盘和文件后启动:失败。磁盘检查成功,权限检查显示一些不一致但所有都已成功修复。恢复磁盘上的启动成功。 使用单用户启动模式 然后我开始使用单用户模式,并遵循Apple页面和各种论坛上的一些指导原则。 我之后到达#root提示符 hfs: mounted Macintosh HD on device root_device XPCM: registered Root device is mounted read-only 使用建议的替代方法来修改文件或继续引导过程。 我申请了/sbin/fsck_hfs -fy。它返回: ** The volume Macintosh HD seems to be OK ** and ***** The volume was modified ***** 我申请了/sbin/mount -uw /。它结束了 /dev/disk0s2 on / (hfs. local. …

1
LaunchDaemon协助
我有以下.sh脚本,这些脚本在下载后会从App Store删除Sierra。这适用于mac osx 10.10或10.11上的任何用户。 但是,是否可以有人添加代码,以便该应用程序(sierra.app)在开始下载后实际上就删除了,而不是当前完成下载时就删除了。 此外,osascript显示消息一旦删除就不会显示。我该如何工作? 这是脚本。 #!/bin/bash Version=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2) if [[ $Version -ge 12 ]] then launchctl unload /Library/LaunchDaemons/net.infor.sierra.plist rm -f /Library/LaunchDaemons/net.infor.sierra.plist rm -f /usr/local/bin/sierra.sh exit 0 else rm -rf /Applications/Install\ macOS\ Sierra.app/ osascript -e 'tell app …

2
为什么我不能使用tmux中的launchctl setenv?
如果我在其中运行,tmux并且尝试使用来更新环境变量launchctl,则会看到如下错误: $ launchctl setenv GIT_SSH /opt/local/bin/ssh Not privileged to set domain environment. 但这可以从tmux... 之外很好地工作...知道为什么是这样,或者是否有任何解决方法?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.