On Mon, Oct 08, 2018 at 06:17:52PM +0800, Weiwu Zhang wrote: > To show this dæmon itself is properly configured and runs fine on Debian 9.5: > > # su bitcoin > $ cd > $ /usr/local/bin/bitcoind -daemon > Bitcoin server starting > $ pgrep bitcoind > 3946
You've used an option named "-daemon". I am guessing that this causes the process to "daemonize" itself (auto-background, self-background). This is what you want if you're on a BSD system in 1989. This is NOT what you want if you're on a systemd system in 2018. If you omit the -daemon option, does the process run in the foreground? If so, THAT is what you want. > However, it won't start if converted to a systemd service: > > # cat /etc/systemd/system/bitcoin.service > [Unit] > Description=bitcoind > After=syslog.target > > [Service] > User=bitcoin > ExecStart=/usr/local/bin/bitcoind -daemon > > [Install] > WantedBy=multi-user.target You did not specify what TYPE of service this is. Since you didn't specify a Type= option, systemd uses the default, which is "simple", which means that it expects a single process to run in the foreground. So: either omit that "-daemon" option, or whatever it takes to make the process run in the foreground like a good process should. -OR- Tell systemd that your process uses ancient, broken behavior (self-backgrounding) by specifying "Type=forking". I know which one I would pick. Assuming that dropping -daemon does what I am guessing it does. (If my guess is wrong, then you may be forced to use a non-simple Type= option.)