<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;">This was it. Thank you Fred.</div>
<div name="messageReplySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;"><br />
On Dec 18, 2017, 6:18 PM -0500, Fred Youhanaie <fly@anydata.co.uk>, wrote:<br />
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #1abc9c;">Hi<br />
<br />
systemd doesn't work when programs (services) detach and run in the background.<br />
<br />
Try starting it with "foreground" instead of start or console.<br />
<br />
Cheers,<br />
Fred<br />
<br />
<br />
On 18/12/17 22:55, asdf asdf wrote:<br />
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #e67e22;">Hello all,<br />
<br />
I have built an Erlang program and created a release using rebar3 release. To run this program, I use the command:<br />
<br />
*./_build/default/rel/program/bin/program start*<br />
<br />
What I would like to do now is have this program start on startup whenever the box boots or whenever the VM crashes. I have to use a RHEL 7 box for this, so I am using systemd. I created a service below:<br />
<br />
*[Unit]*<br />
*Description=program *<br />
*After=network.target*<br />
*<br />
*<br />
*[Service]*<br />
*Type=simple *<br />
*User=root*<br />
*ExecStart=/home/root/repos/program/_build/default/rel/program/bin/program start *<br />
*Restart=on-abort*<br />
*<br />
*<br />
*[Install]<br />
*<br />
*WantedBy=multi-user.target *<br />
<br />
<br />
This doesn’t work however - I get the following output:<br />
<br />
*Dec 18 17:43:59 localhost.localdomain systemd[1]: Started program.<br />
*<br />
*Dec 18 17:43:59 localhost.localdomain systemd[1]: Starting program… *<br />
<br />
(It is odd that it says “started program” followed by “starting program”…)<br />
<br />
Now here is the interesting part - if I switch out “start” with “console” , I get good output - I get the successful start message. But then a crash… :<br />
<br />
*Dec 18 17:45:40 localhost.localdomain program[14167]: 17:45:40.429 [info] Application program started on node 'program@192.168.1.101'*<br />
*Dec 18 17:45:40 localhost.localdomain program[14167]: Eshell V8.2.2  (abort with ^G)*<br />
*Dec 18 17:45:40 localhost.localdomain program 14167]: (program@192.168.1.101)1> *** Terminating erlang ('program@192.168.1.101’)*<br />
<br />
This crash is expected though, because I tried to start it in console but it was a background process. My point though is that it starts up, but for some unknown reason it is exiting. On top of that,<br />
all of the log files in _build/default/rel/program/log are empty, so I’m not getting any valuable info on why it isn’t starting.<br />
<br />
And to clarify, I have copy/pasted the ExecStart command from the file to the command line and it works when it is run from the command line, so this isn’t a path issue.<br />
<br />
Does anyone have any idea as to what I am doing wrong?<br />
<br />
Thank you in advance.<br />
<br />
<br />
<br />
_______________________________________________<br />
erlang-questions mailing list<br />
erlang-questions@erlang.org<br />
http://erlang.org/mailman/listinfo/erlang-questions<br />
<br /></blockquote>
_______________________________________________<br />
erlang-questions mailing list<br />
erlang-questions@erlang.org<br />
http://erlang.org/mailman/listinfo/erlang-questions<br /></blockquote>
<div></div>
</div>
</body>
</html>