Xcode MacOSX lanch守护进程

Xcode MacOSX lanch守护进程,xcode,macos,daemons,Xcode,Macos,Daemons,我正在我的系统中创建一个虚拟文件夹,该文件夹需要一直保存到用户手动删除它为止。因为它是一个虚拟文件夹,所以一旦系统关闭或重新启动,它就会被自动删除 因此,为了持久化它,我尝试从系统启动期间运行的守护进程/launchAgent运行它。为此,我分离了创建虚拟文件夹的代码,使用命令行工具模板将其作为单独的Xcode应用程序,并将其unix可执行文件添加到LaunchAgents/LaunchDaemon中,使其在每次系统重新启动时运行 在我的例子中,创建虚拟文件夹实际上需要保留该过程,这是使用get

我正在我的系统中创建一个虚拟文件夹,该文件夹需要一直保存到用户手动删除它为止。因为它是一个虚拟文件夹,所以一旦系统关闭或重新启动,它就会被自动删除

因此,为了持久化它,我尝试从系统启动期间运行的守护进程/launchAgent运行它。为此,我分离了创建虚拟文件夹的代码,使用命令行工具模板将其作为单独的Xcode应用程序,并将其unix可执行文件添加到LaunchAgents/LaunchDaemon中,使其在每次系统重新启动时运行

在我的例子中,创建虚拟文件夹实际上需要保留该过程,这是使用getchar()函数完成的。当我通过Xcode构建它时,进程在getchar()处停止,并且虚拟文件夹被正确创建。现在,我获取了它的可执行文件(unix可执行文件),双击它以在Xcode中运行它,即使进程在要求的点停止并正常运行。 现在,当我尝试从launchdaemon/launchagent运行它时,进程似乎没有在任何地方停止,它只是一直运行到最后,最后我看不到我的结果,即创建虚拟文件夹。 如何解决这一问题


提前感谢并期待您的任何建议。

守护进程通常没有连接stdin,如果连接了stdin,则不会连接到用户终端。你需要使用更好的同步机制。我可以知道其他的同步机制是什么吗?我对MacOSX开发完全陌生,因此请在这里帮助我提出建议。因此,您有一个正在运行的进程,正在等待装载此虚拟文件夹?是的,完全正确。