Just one last question. Does systemd notifies other services based on this notification ?
I have 2 service files, application in one service file sends notification using sd_notify does systemd starts another service file. one.service ======== *[Unit]* *Description=Sd_notify example* *Before=second.service* *[Service]* *Type=notify* *ExecStart=/etc/Myapp* *[Install]* *WantedBy=multi-user.target* second.service ========== *[Unit]* *Description=Second sd_notify example* *Requires=**one.service* *After=one.service* *[Service]* *ExecStart=/etc/SecondApp* *[Install]* *WantedBy=multi-user.target* *Regards,* *Raghavendra H R* -- Regards, Raghavendra. H. R (Raghu) On Tue, Nov 8, 2016 at 7:14 PM, Alessandro Puccetti <alessan...@kinvolk.io> wrote: > > > On Tue, Nov 8, 2016 at 2:28 PM, Raghavendra. H. R <raghuh...@gmail.com> > wrote: > >> Hi Tomasz, >> >> Thanks for pointing out the mistake. I actually missed the line >> "Type=notify" in the mail. >> I found the journalctl logs and from that I can make out the real problem >> is not about NOTIFY_SOCKET. It is about child process in my application >> *Myapp.* >> >> Below given is my Service file. >> >> *[Unit]* >> *Description=Sd_notify example* >> >> *[Service]* >> *Type=notify* >> *ExecStart=/etc/Myapp* >> >> *[Install]* >> *WantedBy=multi-user.target* >> >> And in Myapp code my application is using fork() to create a child >> process. Because of which notification is not working correctly. >> >> This is error log >> >> >> *localhost systemd[1]: sd_example.service: Got notification message from >> PID 1270, but reception only permitted for main PID 1106* >> >> Is there any way from which we can force sd_notify to make use of Parent >> PID instead of child process. My sd_notify is after the fork() call, so I >> doubt sd_notify is called from child process. >> >> MyApp code snippet >> >> *int count = 0;* >> * cpid = fork();* >> >> * if (cpid < 0)* >> * {* >> * printf("vfork failed.");* >> * }* >> >> * if (cpid == 0)* >> * {* >> * count++;* >> * if(count == 1)* >> * {* >> > This notificaiton is done by the child process, but notificaitons are > accepted by default only form the main process. Read doc aobut > "NotifyAccess=". https://www.freedesktop.org/software/ > systemd/man/systemd.service.html#NotifyAccess= > >> * ret = sd_notify(0, "READY=1");* >> * printf("Return value = %d \n");* >> * }* >> * }* >> >> >> Regards, >> Raghavendra H R >> >> -- >> Regards, >> >> Raghavendra. H. R >> (Raghu) >> >> On Tue, Nov 8, 2016 at 5:15 PM, Tomasz Torcz <to...@pipebreaker.pl> >> wrote: >> >>> On Tue, Nov 08, 2016 at 05:01:59PM +0530, Raghavendra. H. R wrote: >>> > Hi All, >>> > >>> > I'm a newbie in Systemd init system and I'm exploring sd_notify which >>> is >>> > basically used for notification purpose in SystemD. >>> >>> It is written “systemd” (all lowercase). >>> >>> > I have created one unit file which is of type "notify" and in my >>> > application I have written sd_notify(0, "READY=1"); from which SystemD >>> can >>> > be notified that my process in totally up and running. >>> > >>> > Below given is my Service file. >>> > >>> > *[Unit]* >>> > *Description=Sd_notify example* >>> > >>> > *[Service]* >>> > *ExecStart=/etc/Myapp* >>> >>> >>> This is not 'unit of type notify'. This is unit of type 'simple'. >>> Please read "man systemd.service" and paragraph Type= and choose >>> correctly. >>> >>> >>> > Need help in understanding what value should be set in the environment >>> > varaible NOTIFY_SOCKET. >>> > But there's no much information/documentation available on >>> NOTIFY_SOCKET. >>> >>> NOTIFY_SOCKET is filled-in by systemd and it is available when you >>> correctly defined unit type. If you want to check it's value, you can >>> user getenv() inside you program and print the value. >>> I think amount of documentation about NOTIFY_SOCKET is enough, if >>> you think there's something specific missing, let us know. >>> >>> >>> -- >>> Tomasz Torcz "Never underestimate the bandwidth of a >>> station >>> xmpp: zdzich...@chrome.pl wagon filled with backup tapes." -- Jim >>> Gray >>> >>> _______________________________________________ >>> systemd-devel mailing list >>> systemd-devel@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/systemd-devel >>> >> >> >> _______________________________________________ >> systemd-devel mailing list >> systemd-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/systemd-devel >> >> > > > -- > > Alessandro Puccetti >
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel