linux - Er det muligt at skrive cross platform 'Launcher' app i C ++ uden direkte interaktion med OS?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har for nylig skrevet en launcher til en proces på Linux. Grundidéen er enkel:



  • Lanceringsprocessen starter ved systemstart og fortsætter med at køre

  • Efter at have lavet nogle grundlæggende opsætninger, lanceres det en hovedløs proces, der skal løbes i baggrunden

  • Launcher-processen overvåger den nyligt lancerede proces og genstarter den, hvis den sættes ned (og jævnligt 'snakker' til processen)



Den eneste måde, jeg kan tænke på, er at bruge et navngivet rør og derefter exec indlæs processen ved hjælp af den på Linux, og brug også en popen for at få kommandoen ps tilbage og parsere den til se processen kører eller ej. Men det virker mindre robust og bestemt ikke cross platform.


Så mit spørgsmål er, er der en ordentlig C + + måde at gøre det samme som cross platform (da jeg har brug for at understøtte windows også) og ikke hacky. Ethvert bibliotek, som jeg kan bruge til en sådan opgave?

Bedste reference