Jak mogę wykonać zewnętrzne polecenia w C / Linux bez użycia systemu, popen, fork, exec?
Chciałbym wiedzieć, czy jest jakiś dobry sposób na wykonanie polecenia zewnętrznego w środowisku Linux przy użyciu języka C bez użycia systemu (), popen (), fork (), exec ()?
Powodem, dla którego nie mogę korzystać z tych funkcji, jest to, że moja główna aplikacja zużyła większość zasobów systemowych (tj. Pamięci) w mojej wbudowanej płycie. Jeśli zrobię widelec, płyta nie będzie w stanie utworzyć duplikatu mojej głównej aplikacji. Przeczytałem w książce, zarówno system (), jak i popen (), używając faktycznie fork (), więc nie mogę ich używać.
Jedynym pomysłem, jaki aktualnie posiadam, jest utworzenie procesu, zanim uruchomię moją główną aplikację i użyję IPC (potoku lub gniazda), aby nowy proces wiedział, jakie zewnętrzne polecenia muszą uruchamiać z systemem () lub popen () i zwracać wyniki do mojej aplikacji po jej zakończeniu.