我想在名为zookeeper的用户下启动 Ubuntu 服务器 16.04 后(而不是在登录后)启动 Zookeeper 守护程序。所以我改变了文件/etc/rc.local
如下:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo 'never'; defrag_file_pathname
su -c '$ZOOKEEPER_HOME/bin/zkServer.sh start' zookeeper &
exit 0
su -c '$ZOOKEEPER_HOME/bin/zkServer.sh start' zookeeper &
, 在 .之前添加一行exit 0
。但是重启后进程没有启动!
这里有什么问题?
details : zookeeper用户在sudo组中并且有密码。
详细信息:当我在终端中运行命令su -c '$ZOOKEEPER_HOME/bin/zkServer.sh start' zookeeper &
时,它需要密码才能运行。
创建一个 。
service
文件/etc/systemd/system/zoo.service
并添加以下行:现在设置服务:
检查状态:
请阅读有关创建守护程序的更多详细信息:
https://www.freedesktop.org/software/systemd/man/systemd.unit.html