Mam .service dla procesu, którego nie chcę uruchamiać w czasie rozruchu, ale jakoś go wywołać z innej już uruchomionej aplikacji, w wyznaczonym czasie.Uruchom usługę systemd z aplikacji C/C++ lub zadzwoń do usługi D-Bus
Inną opcją byłoby umieszczenie pliku usługi D-Bus (używam glib dbus w moich aplikacjach) w/usr/share/dbus-1/services i jakoś zadzwonić z mojej aplikacji. Ponadto nie uda mi się tego zrobić.
Powiedzmy, że mój plik usługi dbus z /usr/share/dbus-1/services
jest com.callThis.service
i mój główny plik usługi z /lib/systemd/system is com.startThis.service
Jeśli uruchomić prosty introspekcji z wiersza poleceń:
/home/root # dbus-send --session --type=method_call --print-reply \
--dest=com.callThis /com/callThis org.freedesktop.DBus.Introspectable.Introspect
plik serwis D-Bus zostanie wywołany i uruchomi to, co jest w Exec (com.starThis). Problem polega na tym, że chcę to osiągnąć z kodu C/C++ za pomocą glib D-Bus.
Czy próbowałeś to zaimplementować? Pokaż pierwsze kroki, które zrobiłeś. Mnóstwo dokumentacji, a nawet przykład można znaleźć http://developer.gnome.org/gio/2.30/GDBusConnection.html – drahnr
http://www.freedesktop.org/wiki/Software/systemd/dbus/ Oto informacje na temat 'systemdy DBUS API –