
sudo sysctl -w net.inet.tcp.delayed_ack=0
我尝试过使用NSTask,但似乎每次都在做错事.
我只想运行此命令并打印输出.
感谢您的关注.
PS.这是我当前的代码看起来像(感谢您的回复):
let task = NSTask()task.launchPath = "/usr/sbin/sysctl"task.arguments = ["-w","net.inet.tcp.delayed_ack=0"]let pipe = NSPipe()task.standardOutput = pipetask.standardError = pipetask.launch()task.waitUntilExit()let data = pipe.fileHandleForReading.readDataToEndOffile()let output: String = Nsstring(data: data,enCoding: NSUTF8StringEnCoding) as! String
我在输出中收到以下消息:
net.inet.tcp.delayed_ack:3
sysctl:net.inet.tcp.delayed_ack = 0:不允许 *** 作
let task = NSTask()task.launchPath = "/usr/sbin/sysctl"task.arguments = ["-w",enCoding: NSUTF8StringEnCoding) as! String
另外,如果这不起作用,请您更新问题以包括确切的错误以及您使用NSTask的代码.现在,如果你想看看,你将不会有你想要的sudo效果:https://developer.apple.com/library/mac/documentation/Security/Conceptual/authorization_concepts/01introduction/introduction.html告诉你如何使用sudo.对于未经过沙盒的应用程序,您也可以执行与上面相同的 *** 作,但将launchPath更改为/ bin / sh,然后添加参数“-S”并添加参数“/usr/sbin / sysctl”.然后,您可以使用standardinput来管道具有root访问权限的用户的密码.所有密码输入错误都将出现在标准错误管道中.让我知道这个是否奏效.
总结以上是内存溢出为你收集整理的使用Swift Xcode在Mac应用程序中运行终端命令全部内容,希望文章能够帮你解决使用Swift Xcode在Mac应用程序中运行终端命令所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)