我最近在Linux上为一个进程编写了一个启动程序。基本思路很简单:
启动程序进程在系统启动时启动并继续运行
在做了一些基本的设置之后,它启动了一个无头的过程,该过程应该在后台连续运行
启动程序进程监视新启动的进程并在其崩溃时重新启动(并定期与该进程进行对话)
我能想到的唯一方法是使用命名管道,然后exec
使用Linux上的进程,同时使用popen
来获取ps
命令输出和解析它以查看进程是否正在运行。但是,它似乎不那么健壮,当然也不是跨平台。
所以我的问题是,是否有适当的C ++方式来做同样的跨平台(因为我也需要支持Windows)而不是hacky。我可以用于此类任务的任何库吗?