16.06.2020 07:36, Kamal Rathi пишет: > The fact that you need RemainAfterExit at all hints that processes that > belong to your service are not running as part of service control group. > Knowing how Oracle has traditionally been managed, I suspect that you > perform "su - oracle_owner" or similar to start them in which case all > actual service processes become part of respective user sessions, and > not part of your system services. There is no way to synchronize > stopping of processes/services belonging to different users. They are > completely independent and shutdown for all sessions is initiated in > parallel. > Please take at least some efforts to format mail so that it can be properly understood. Otherwise I am afraid your mails will simply be ignored. > If my theory is correct, the fix would be to actually run your systemd > services as systemd services. If my theory is wrong, provide full from > system boot to shutdown where it could be seen how your services are > started/stopped. Enabling systemd debug log level when doing it > certainly won't harm. > > > > I have incorporated Type=oneshot and remainAfterExit=yes as it was helpful > in startup of services, How RemainAfterExit affects *startup* of services? > but still grid.service are starting up in > user.slice So I was right. Your programs are running as user services or part of user sessions. > and shutdown was giving the same results > I am attaching debug logs . > dmesg output does not contain any systemd log. Anyway, we already know that your services are not really system services. > On Mon, Jun 15, 2020 at 10:34 AM Andrei Borzenkov <arvidjaar@xxxxxxxxx> > wrote: > >> 15.06.2020 11:01, Kamal Rathi пишет: >>> Hi Team, >>> >>> I have two services which are dependent on each other and are working >> fine >>> at boot up but at shutdown / reboot , the processes get killed as >> shutdown >>> got initated. >>> >>> Services are running fine in particular order but processes got killed .I >>> have enabled lingering on both users and changed confgiuration in >>> logind.conf to KillUserProcesses=no but still issue is same >>> >> >> Lingering/KillUserProcesses are relevant only for user services/sessions >> and so far there was no indication you use either. >> >>> ############## >>> Systemd service files content are below >>> >>> cat /etc/systemd/system/grid.service >>> [Unit] >>> Description=Service to auto start Oracle ASM application >>> Before=rdbms.service >>> After=syslog.target network.target nfs-mountd.service autofs.service >>> systemd-user-sessions.service system.slice >>> [Service] >>> Type=simple >>> TimeoutSec=5min >>> User=grid >>> Group=dba >>> ExecStart=/opt/admin/bin/asm >>> ExecStop=/opt/admin/bin/asm_stop >>> RemainAfterExit=yes >>> [Install] >>> WantedBy=multi-user.target >>> >>> >>> >>> cat /etc/systemd/system/rdbms.service >>> [Unit] >>> Description=Service to auto start Oracle RDBMS application >>> Requires=grid.service >>> After=grid.service syslog.target network.target nfs-mountd.service >>> autofs.service systemd-user-sessions.service system.slice >>> [Service] >>> Type=simple >>> TimeoutSec=5min >>> User=osarahn9 >>> Group=dba >>> ExecStart=/opt/admin/bin/rdbms >>> ExecStop=/opt/admin/bin/rdbms_stop >>> RemainAfterExit=yes >>> [Install] >>> WantedBy=multi-user.target grid.service >>> >>> >>> let me know if my configuration is faulty or what I have missed so that >>> shutdown should be graceful for services and processes will be >>> shutdown with systemd custom service? >>> >> >> You do not provide enough information (full logs would be certainly much >> more useful than long description) so I can only give educated guess. >> >>> I want first rdbms.service should be called and get process stopped >> before >>> grid.services (it seems systemd are killing user.slices processes) and in >>> startup-inverse should be followed . >>> Please help . >>> >> >> The fact that you need RemainAfterExit at all hints that processes that >> belong to your service are not running as part of service control group. >> Knowing how Oracle has traditionally been managed, I suspect that you >> perform "su - oracle_owner" or similar to start them in which case all >> actual service processes become part of respective user sessions, and >> not part of your system services. There is no way to synchronize >> stopping of processes/services belonging to different users. They are >> completely independent and shutdown for all sessions is initiated in >> parallel. >> >> If my theory is correct, the fix would be to actually run your systemd >> services as systemd services. If my theory is wrong, provide full from >> system boot to shutdown where it could be seen how your services are >> started/stopped. Enabling systemd debug log level when doing it >> certainly won't harm. >> _______________________________________________ >> systemd-devel mailing list >> systemd-devel@xxxxxxxxxxxxxxxxxxxxx >> https://lists.freedesktop.org/mailman/listinfo/systemd-devel >> > > > _______________________________________________ > systemd-devel mailing list > systemd-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/systemd-devel > _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel