微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何执行shell脚本并关闭可可中的应用程序

如何解决我如何执行shell脚本并关闭可可中的应用程序

|| 当我单击按钮时,我想从我的可可应用程序中运行一个shell脚本。我可以轻松地使用system()调用来做到这一点,但这不是我所需要的。我需要应用程序在调用脚本后立即关闭,甚至在调用脚本之前关闭。基本上,脚本应花费几秒钟来运行,因此我需要在该时间之前关闭该应用程序。我之所以需要它,是因为我正在编写一个使Mac进入睡眠状态的简单应用程序,但是在此之前,它会通过Shell脚本进行大量清理,而我基本上不希望当我打开该应用程序时使系统从睡眠中恢复。 我会用叉子或类似的东西来做这项工作,还是我需要一些特殊的魔术来做到这一点? 谢谢     

解决方法

        您可以使用popen()代替system()。应用程序退出后,init进程应继承您运行的脚本的所有权。您也可以fork / exec,但是popen会更简单,因为它的语义与system()更加接近。     ,        如果您在可可中,则需要使用NSTask。如果您的脚本需要管理员权限,则始终有STPrivilegedTask。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。