Service management:
systemctl start service.app
or docker run --restart=unless-stopped --name=myservice myservice:version
If it isn't written as a service, then it doesn't need management. If it is written as a service, then service management tools make managing it easy.> there is no graceful shutdown ... to worry about
Graceful shutdown:
kill -9
or docker kill -9 myservice
If your app/service can't handle that, then it's designed poorly.