부팅 할 때 시작하지 않고 이미 실행중인 다른 응용 프로그램에서 전화를 걸 수있는 .service가 있습니다. 주어진 시간에.C/C++ 응용 프로그램에서 systemd 서비스를 시작하거나 D-Bus 서비스를 호출하십시오.
다른 옵션은/usr/share/dbus-1/services에있는 D-Bus (내 응용 프로그램에 glib dbus를 사용하고 있습니다) 서비스 파일을 넣고 어떻게 든 내 응용 프로그램에서 호출하는 것입니다. 또한, 나는 이것을 할 수 없다.
의 내가 명령 줄에서 간단한 인트로 스페을 실행하면 /usr/share/dbus-1/services
에서 내 DBUS 서비스 파일이 com.callThis.service
하고 /lib/systemd/system is com.startThis.service
에서 내 주요 서비스 파일 가정 해 봅시다 : 디 - 버스 서비스 파일
/home/root # dbus-send --session --type=method_call --print-reply \
--dest=com.callThis /com/callThis org.freedesktop.DBus.Introspectable.Introspect
호출되며 Exec (com.starThis)에있는 항목이 시작됩니다. 문제는 D-Bus glib를 사용하여 C/C++ 코드에서이 작업을 수행하려고합니다.
구현을 시도 했습니까? 당신이 한 첫 걸음을 보여주십시오. 많은 문서와 예제가 http://developer.gnome.org/gio/2.30/GDBusConnection.html – drahnr
http://www.freedesktop.org/wiki/Software/systemd/dbus/에 있습니다. 여기에 대한 정보가 있습니다. 'systemd'의 DBUS API –