The fact that you need RemainAfterExit at all hints that processes thatbelong to your service are not running as part of service control group.Knowing how Oracle has traditionally been managed, I suspect that youperform "su - oracle_owner" or similar to start them in which case allactual service processes become part of respective user sessions, andnot part of your system services. There is no way to synchronizestopping of processes/services belonging to different users. They arecompletely independent and shutdown for all sessions is initiated inparallel.If my theory is correct, the fix would be to actually run your systemdservices as systemd services. If my theory is wrong, provide full fromsystem boot to shutdown where it could be seen how your services arestarted/stopped. Enabling systemd debug log level when doing itcertainly won't harm.
I am attaching debug logs .
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
Attachment:
systemd-logs.tar.gz
Description: GNU Zip compressed data
_______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel