Weblogic systemd service ============================ RHEL 7 ships with systemd as its default initialization daemon. So enterprise IT folks have to get familiar with that thing. Here's an example of a systemd service unit controlling a Weblogic domain. Personally I use it to start the nodemanager and a few OSB servers on a development machine under Fedora 18. The declarative approach of systemd really helps setting up new services. In a case of a simple daemon the definition can be as brief as just a few lines. Nodemanager component of Weblogic server brings come complexity. I've heard unprivileged systemd units are supported but chose to go as a superuser this time. However application server itself will run unprivileged. First, a new unit file: `# vi /etc/systemd/system/osb_domain.service` [Unit] Description=Starts weblogic nodemanager, admin server and managed servers of osb_domain Wants=network.target After=network.target   [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/home/gfxuser/Oracle/Middleware/wlserver_10.3/common/bin ExecStart=/home/gfxuser/Oracle/Middleware/wlserver_10.3/common/bin/wlst.sh startAll.py User=gfxuser [Install] WantedBy=multi-user.target Without `RemainAfterExit` all spawned java processes are killed as soon as wlst.sh exits. Be sure also to reload systemd's service definitions (they are cached in a binary form): `# systemctl daemon-reload` And this one creates a symlink in multi-user.target dir `# systemctl enable osb_domain.service` More functions (status, stop, restart) could be easily implemented if nodemanager wrote its PID somewhere. And the contents of `startAll.py` WLST script refenced by the unit file: startNodeManager() nmConnect(domainName='osb_domain') nmStart('AdminServer') nmStart('osb_server1')