Questions tagged «launchd»

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

3
如何自动杀死泄漏内存的进程?
我有泄漏内存的进程的问题。它们导致我的硬盘驱动器被填充交换文件/private/var/vm。 我希望操作系统可以立即泄漏泄漏的进程。我对20分钟后出现的对话框不感兴趣,建议应用程序杀死,甚至不显示泄漏的对话框。 我已经尝试设置rss和data限制/etc/launchd.conf但它似乎没有效果。 这是我的/etc/launchd.conf: limit data 8589934592 8589934592 limit rss 8589934592 8589934592 这是launchctl limit输出: % launchctl limit cpu unlimited unlimited filesize unlimited unlimited data 8589934592 8589934592 stack 8388608 67104768 core 0 unlimited rss 8589934592 8589934592 memlock unlimited unlimited maxproc 709 1064 maxfiles 256 unlimited 这是我的.zshrc: ulimit -t 600 ulimit -d …
8 macos  memory  launchd 

4
是什么原因导致启动烧毁我的CPU?
我正在运行优胜美地,全新安装。 连续发射时会以100%CPU运行。自从优胜美地升级以来,我无法使用“ sudo launchctl日志级别调试”更改日志级别。 检查top或Activity Monitor,我可以看到启动本身正在大量使用CPU,而不是它所产生的进程。它具有最高的cpu时间,是内核任务的3倍,远高于真正占用大量CPU的Plex-视频转码,并且它支持许多经常运行的客户端。 我看到的日志中没有什么是最常见的消息: 2014年11月6日10:06:38.748 PM com.apple.xpc.launchd [1]:(com.apple.imfoundation.IMRemoteURLConnectionAgent)_DirtyJetsamMemoryLimit键在此平台上不可用。 每小时只有3到6次。 我对所有启动的守护程序进行了快速检查,以查找任何错误代码。 alex@smiley:~|⇒ launchctl list | grep -v "\t0\t" PID Status Label 28122 -15 com.apple.Finder alex@smiley:~|⇒ sudo launchctl list | grep -v "\t0\t" PID Status Label 219 -43 com.apple.watchdogd 21134 -15 com.apple.security.syspolicy 有趣的是,Watchdogd上的-43代码与launchctl list的输出不匹配: alex@smiley:~|⇒ sudo launchctl list com.apple.watchdogd …

3
可以比每10秒更频繁地启动运行的程序吗?
我有一些这样的服务,我希望在文件修改后立即运行。 <?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>test</string> <key>ProgramArguments</key> <array> <string>say</string> <string>a</string> </array> <key>WatchPaths</key> <array> <string>/Users/username/Desktop/</string> </array> </dict> </plist> 即使ThrottleInterval设置为1或0,它们最多也只能每10秒运行一次。 9/9/12 4:57:05.457 PM com.apple.launchd.peruser.501[138]: (test) Throttling respawn: Will start in 7 seconds 9/9/12 4:57:09.541 PM com.apple.launchd.peruser.501[138]: (test) Throttling respawn: Will start …
8 macos  launchd 


0
启动后StartInterval如何在长时间睡眠后表现?
我使用launchd.plist进行了21,600secs(4小时)的工作。我有2个mac,main和sub。使用main mac,我的plist工作正常。但是对于sub mac,它每周醒来3~4次,我的plist似乎没有正常运行。 Apple的launchd.plist手册页描述: 如果系统处于睡眠状态,则下次计算机唤醒时将启动作业。如果在计算机被唤醒之前发生多个间隔,则这些事件将在从睡眠中唤醒时合并为一个事件。 但如果睡眠时间超过86,400秒(1天),我无法知道计数器是如何工作的。 有一天有人知道startinterval是如何工作的吗?

0
如何在启动用户代理启动之前安装Google云端硬盘文件流?
我有一个简单的备份 bash 转储输出的脚本 pg_dump 将PostgreSQL数据库导入Google Drive File Stream目录。 这个 bash 脚本由a引用 launchd 用户代理。 用户代理的XML文件使用a运行脚本 StartInterval 键。 理论上,这意味着脚本应该在登录时运行一次,然后应该根据 StartInterval 键的整数。 我的问题是Google云端硬盘文件流似乎没有安装相关卷 /Volumes 及时的 第一 当用户代理中的脚本应该运行时的实例。我希望脚本能够在登录时成功运行。 该 现已弃用 谷歌云端硬盘桌面应用曾经在文件系统上有一个永久性文件夹,但现在谷歌驱动器文件流似乎需要在登录时安装,并且它的安装速度不够快 launchd 剂。 一旦目录进入,登录后几秒钟手动停止,卸载,加载和重新启动代理就可以了 /Volumes/GoogleDrive 实际存在。 如何可靠地安装Google云端硬盘文件流文件夹 /Volumes 在此之前 launchd 代理人开始? 我在macOS 10.12.6(16G1212)上。

3
如何防止加载一些LaunchDaemons?
我刚刚看了/ Library / LaunchDaemons,想知道我在那里打开了多少不同的东西:) 我可以轻松删除奇怪的一个吗?如何在系统启动期间禁用它们? 我看到下一个清单 at.obdev.littlesnitchd.plist com.adobe.fpsaud.plist com.bresink.system.securityagent3.plist com.google.keystone.daemon.plist

1
如何通过终端从Spotlight切换到Alfred?
我通过homebrew-cask安装了Alfred。我想禁用Spotlight,让Alfred用Cmd + S打开。 我试过的第一个基于终端的解决方案是卸载Spotlight sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist。然而,这使得自制软件失败并且“无法获得客户端端口”,而且它是众所周知的。 第二个是通过访问“系统偏好设置” - >“Spotlight”并禁用“Spotlight菜单键盘快捷键”选项来更改Spotlight快捷方式。有效。 我仍然不喜欢的是这个解决方案不可移植,我不能将它添加到我的dotfiles。此外,Spotlight仍在运行,但我认为我必须处理它,因为我需要自制软件才能工作。

1
使用launchctl启动时,为什么应用程序运行速度如此之慢?
我用C ++编写了一个使用OpenGL和Cinder的应用程序。当我从Finder启动应用程序文件时,它在60FPS下运行良好且流畅。然而,当我使用launchctl load性能很糟糕的时候启动它时,用户界面很慢,一般来说它的运行速度大约是所需FPS的一半。 我想用它launchctl来保持应用程序在它崩溃或需要重新启动以进行内容更新时保持活动状态。我已经阅读了本教程:http://www.launchd.info/并找到了一些可能有用的配置设置,即Data,MemoryLock,NumberOfProcesses,ResidentSetSize和Stack,但我不确定要设置这些值的值at,或者如果它们甚至是有用的。 一个有趣的注意事项是,我注意到在Activity Monitor中,使用时CPU使用率要低得多launchctl。 这是我当前的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>PROCESS_ID</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>ThrottleInterval</key> <integer>30</integer> <key>Program</key> <string>PATH_TO_EXECUTABLE</string> </dict> </plist> 更新: 我想出了解决这个问题的方法。我们可以使用open并提供app文件的路径,而不是指向可执行文件。我还没弄清楚直接启动可执行文件之间有什么区别,但它似乎可以解决问题。 这是一个例子: <key>ProgramArguments</key> <array> <string>/usr/bin/open</string> <string>-W</string> <string>/Applications/Safari.app</string> </array>
3 launchd 

0
在capitan中自定义系统launchagent参数
有什么方法可以解决无法完全禁用系统完整性保护的情况下,在El Capitan中自定义启动代理程序插件吗? 具体来说,我悲哀地发现,我的ssh-agent超时已被拆掉,并震惊,我无法把它放回去。我看到了其他有关如何在恢复模式下重新启动并禁用SIP的问题,但这似乎有点荒唐……还有其他解决方法吗? 我对整个launchctl并不了解,-t除了编辑之外,还有其他方法可以设置选项/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist吗? 我可以禁用系统配置的代理并将其设置为~/Library/LaunchAgents吗?与系统代理相比,会失去任何功能吗?

3
卸载启动守护程序后还原Yosemite服务器
因此,在尝试修复损坏的打开目录时,我遇到了一个修复程序,据说可以输入此命令... sudo launchctl unload -w /System/Library/LaunchDaemons/ org.openldap.slapd.plist 从格式上看,我认为这是两个单独的命令,但实际上它们是一个。可以想象,在我键入“第一个命令”后,Mac Mini服务器关闭并重新启动,但是加载栏在尝试引导时不会超过一半。 卸载所有启动守护程序后,有什么方法可以还原它们?任何和所有帮助表示赞赏。

1
.plist返回:无效的属性列表,plutil说好!
我正在尝试创建我的第一个.plist。我想在登录时安装一个ssh驱动器,所以每次启动Mac时都不必输入命令! 命令是: sshfs -o allow_other,defer_permissions user@xxx.xxx.xxx.xxx:/home/user/ /Users/user/Desktop/Website/ -o reconnect plist看起来像这样: <?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>name.plist</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/sshfs</string> <string>-o allow_other,defer_permissions</string> <string>user@xxx.xxx.xxx.xxx:/home/user</string> <string>/mnt/User</string> <string>-o reconnect,volname=User</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> 我已经按照教程说完了.plist,我必须运行这两个命令: launchctl load ~/path/name.plist launchctl start ~/path/.name.plist 然后它返回 Invalid property …

1
加快launchctl执行速度
我已经设置了一堆脚本,当我在家里连接我的霹雳码头时需要发生这种情况(禁用wifi,启用蓝牙......)。 为了检测霹雳码头,我使用了以下launchctl服务: <?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>romeovs.dock.agent</string> <key>ProgramArguments</key> <array> <string>/Users/romeovs/.bin/dock/run.sh</string> </array> <key>RunAtLoad</key> <true/> <key>LaunchEvents</key> <dict> <key>com.apple.notifyd.matching</key> <dict> <key>com.apple.system.config.network_change</key> <dict> <key>Notification</key> <string>com.apple.system.config.network_change</string> </dict> </dict> </dict> </dict> </plist> 此服务侦听launchd是否发生网络更改(检测连接到扩展坞的有线网络)。此设置似乎有效,但在连接扩展坞时检测和操作非常慢。 设置dock网络需要很长时间,但之后在脚本实际调用之前还需要5秒钟。 有没有办法让服务更快地检测到网络变化(没有设置轮询服务)?

2
系统和全局守护进程之间的区别
根据Launchd Tutorial,守护进程有两个地方。 一个全球守护进程位于 /Library/LaunchDaemons 系统守护程序位于 /System/Library/LaunchDaemons 他们之间有什么区别?两者似乎都做同样的任务,代表在启动时运行一个程序root。 编辑: 差异,我的意思是功能上的差异。我知道系统守护进程来自苹果,而全球来自供应商,但我想知道功能是否存在差异。

1
永久禁用Apple的OpenSSH?
我有一个较旧的OS X 10.5 PowerMac(PowerPC)需要在线处理器下的软件测试。它需要联机,因为其他人也想用它来进行测试。我已经用新的二进制文件更新了OpenSSL和OpenSSH /usr/local。我还添加了一个新的Launchd plist,/System/LaunchDaemons以便在端口1522上启用新的OpenSSH守护进程。 现在我想永久禁用现有的Apple提供的OpenSSH /usr/sbin/sshd。我不想删除它或替换它,因为这通常会导致比它的价值更多的麻烦。使用http://www.google.com/search?q=apple+disable+sshd+site:apple.com进行的搜索似乎未显示有关此主题的支持文档。我发现很多关于更新OpenSSH并通过UI禁用它的讨论,但没有关于永久禁用它的讨论。 我尝试删除执行位,但这不起作用。重启后,Launchd仍然设法启动sshd。其他想法包括文件系统扩展属性以拒绝访问它。 如何安全永久地禁用现有的OpenSSH守护程序?
2 macos  ssh  launchd  leopard 

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.