问题标签 [launch-agent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 詹金斯奴隶问题 - 无效的流标头:099EACED
Jenkins 2.7.4 安装在 RedHat Server 中,Linux Slaves 通过选择“Launch agent via execution of command on master”选项进行配置。我们创建了一个 Shell 脚本,它在 Jenkins 版本 2.7.4 中运行良好。
现在我们将 Jenkins 升级到 2.121.1。现在相同的脚本会引发错误
启动代理时出现意外错误。这可能是 Jenkins java.io.IOException: Unexpected EOF at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:99) at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:39) at hudson.remoting 中的一个错误。 AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63) 错误:进程以退出代码 1 java.io.IOException 终止:在 hudson.remoting.ChunkedInputStream 出现意外的 EOF。 readUntilBreak(ChunkedInputStream.java:99) 在 hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:39) 在 hudson.remoting.AbstractSynchronousByteArrayCommandTransport。
如果我在 Manage Jenkins -> Configure Security 中禁用 SSHD 端口,那么我就可以启动我的从机。但在我的脚本中,我将使用 Jenkins-cli.jar 触发一项工作,将二进制文件从主服务器复制到从服务器。
java -jar jenkins-cli.jar -s http://localhost:8080 --ssh -user username -i ~/.ssh/id_rsa build RTT/RTT-CI-Tools/RTT-CI-Tools-Distribute -s -p SLAVE_REGEX=slave name
我收到一条消息
并且构建没有被触发。我还尝试在 jenkins-cli.jar 命令中将 -ssh 替换为 -http,
java -jar jenkins-cli.jar -s http://localhost:8080 -http -auth username:60b3450a883a2519592af84cdcd0d224 build $CI_JOB -s -p SLAVE_REGEX=$SLAVEHOST
它触发工作。再次无法启动从机,
ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-i identity_file] [-L [bind_address:]port:host: hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] [user@]hostname [command] 错误:启动代理时出现意外错误。这可能是 Jenkins 错误中的一个错误:连接终止 java.io.IOException: Unexpected EOF hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] [user@]hostname [command] 错误:启动代理时出现意外错误。这可能是 Jenkins 错误中的一个错误:连接终止 java.io.IOException: Unexpected EOF hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] [user@]hostname [command] 错误:启动代理时出现意外错误。这可能是 Jenkins 错误中的一个错误:连接终止 java.io.IOException: Unexpected EOF
如何解决此问题
macos - 应用程序在 MacOS 中终止后在后台运行定期任务
我是一名 iOS 开发人员,我开发了一个使用后台模式运行定期后台任务的应用程序,我想在这个应用程序的 MacOS 版本中实现相同的功能,因为我是 MacOS 开发的新手,我面临一些问题关于此功能的实现。
我已经使用 NSBackgroundActivityScheduler 来安排定期活动,当应用程序正在运行或在 Dock 中时,它工作正常。但是当我退出应用程序时,我未能达到相同的结果。即使在应用程序终止或退出后,我也想运行该任务。
我研究了有关此的各种选项,例如 XPC 、 LaunchAgent 、 LoginItems 、 Process 等,但我很困惑该选择哪个选项。就像在苹果开发者论坛上一样,他们已经将 XPC 与 LoginItems 一起使用,但是当我尝试实现它时我被卡住了。
macos - 在 Mac 用户登录上打开终端并运行命令
我正在尝试自动化启动脚本的一部分,该脚本将打开一个终端窗口,该窗口将运行命令并在登录时向用户显示一堆文本。
我试图在 /Library/LaunchAgent 中创建一个似乎不起作用的 plist
/LaunchAgents/blah.blah.plist
Startup.sh 看起来像这样
macos - MacOS 在控制台应用程序中创建启动代理不起作用
我知道如何使用普通应用程序创建启动代理,例如“myLaunchd”并将“应用程序是代理”设置为“YES”,然后将“myLaunchd.app”复制到主应用程序的Contens/Library/LoginItems
.
但我需要代理,这些代理将由一些脚本创建,主应用程序的捆绑标识符将通过命令行参数提供。
我尝试使用控制台应用程序,尝试将其用作启动代理,但它无法正常工作。我注意到一个普通的应用程序会一直运行直到它关闭(如果“应用程序是代理”设置为“否”)。所以为了达到类似的效果,我强迫控制台应用程序无限运行while(1)
,但没有运气。
任何建议将不胜感激。
macos - 可可 - 如何让非沙盒 macOS 应用程序在登录时启动?
我正在开发一个不会在 App Store 中发布的非沙盒 macOS 应用程序,我想让该应用程序在用户登录时运行。
我找到的当前方法是使用服务管理框架和一个助手应用程序,它需要签署这个应用程序。前一种有效的方式是 LSSharedFileList,但是这种方式在 macOS 10.14 中不起作用。
有没有办法让这个简单的应用程序在登录时启动?
macos - 列出 macOS 上所有已加载/已卸载或同时启动的代理
我正在尝试使用以下命令确定现在加载了多少启动代理
但它没有列出我要找的那个。这是对的吗?
macos - 如何在 Mac OSX 中为所有用户添加应用程序作为登录项
我正在尝试通过创建启动 plist 并将其复制到 /Library/LaunchAgents 并加载它来添加应用程序作为所有用户的登录项。
列表是
RunAtLoad 将在每次登录时启动应用程序。当我登录到我机器中的所有不同用户帐户时,它对我有用,但如果我手动退出它,它也会自行启动。
我怎样才能让它每次登录只启动一次,如果我退出它,那么它不应该自行启动。
macos - 每当直接或通过蓝牙连接 HID 设备时,是否有办法执行 shell 脚本?
我正在利用 macOS 的hidutil
命令来执行自定义键映射,根据 Apple此处的链接。问题是我们使用的 KVM 不断断开连接,然后重新连接键盘,每次发生这种情况时,我们的自定义键映射都会被清除,我们必须手动重新执行脚本。
我正在尝试查找是否有一些我们可以监控的系统事件,或者一些启动代理或类似的东西,我们可以利用它们来自动为我们执行脚本。
如果您能想到任何其他方式可以保留这些设置,那也可以。
参考:https ://developer.apple.com/library/archive/technotes/tn2450/_index.html
macos - LaunchAgent 不运行 shell 脚本
在 Catalina 之前的 macOS 下,我有一个 LaunchAgent,它每天运行一个 shell 脚本。升级并切换到 zsh 后它不起作用。我检查过的事情:
- shebang 切换到 zsh
- shell脚本可以从命令行手动执行
- sh 在 System Preferences > Security & Privacy 下拥有完整的磁盘访问权限
- plist 在里面
~/Library/LaunchAgents
并自动启动,所以 chown 就可以了
我在我的 plist 中添加了一个错误检查:
这给出file.err
了
zsh: can't open input file: /path/to/script.sh
file.out
是空的。我的脚本有权限-rwxr-xr-x
我错过了什么?