[英]How to send signal using kill in MacOS Swift application?
我在 Swift 中有一个 XCode MacOS 应用程序项目。 我需要向另一个进程发送信号。 调用kill(pid_t, Int32)
function 不起作用。 我的进程接收器没有收到任何信号。 另外,我尝试使用Process
从 swift 调用 bash 代码:
let task = Process()
task.launchPath = "/usr/bin/env"
task.arguments = ["kill", "-s", "SIGUSR1", receiverID]
task.launch()
task.waitUntilExit()
return task.terminationStatus
但是我在控制台kill: 6340: Operation not permitted
中遇到错误。
你可以帮帮我吗? 如何向另一个进程发送信号?
权限提升包含在: Apple 的安全访问控制文档中
但是,如果您使用NSTask
从应用程序中生成原始子流程(Swift 中的Process
,感谢 Apple)。 它应该是一个孩子,你应该能够杀死它。 如果您使用NSTask
运行它来生成它,您应该能够获取返回的Process
实例并调用terminate()
方法以将其杀死。
因此,如果您要使用与原始帖子类似的代码生成原始子项(产生一个名为task
的Process
实例),您应该能够调用task.terminate()
来终止该进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.