当我使用telnet在CoreOS(tarball)上运行dsc cassandra时,一切都很好。但是当我关闭telnet会话时,它会杀死进程。我如何让cassandra服务器继续运行?
我试过sudo bin / cassandra和sudo bin / cassandra -f 两个都没有帮助。
我在其他操作系统中没有任何问题。
答案 0 :(得分:0)
Option Description
-f Start the cassandra process in foreground. The default is to start as background process.
-h Help.
-p filename Log the process ID in the named file. Useful for stopping Cassandra by killing its PID.
-v Print the version and exit.
当你使用-f启动cassandra时,它会在前台运行,因此一旦终端关闭它就会停止。背景过程也是如此。
在telnet会话中运行的任何应用程序都会发生这种情况。
你可以试试
sudo service cassandra start
或nohup bin/cassandra
这将使您的应用程序在终端关闭时继续运行
答案 1 :(得分:0)
您需要将Cassandra作为systemd服务运行,如下所述:https://coreos.com/os/docs/latest/getting-started-with-systemd.html
使用cassandra -f
作为ExecStart=
命令在前台运行将允许systemd管理进程的状态(理想情况是在容器内)。
虽然这与您习惯的有点不同,但它将导致整体更稳定的机制,因为您将使用了解依赖关系链,重新启动和重新启动行为,日志记录等的init系统。 / p>
答案 2 :(得分:0)
在屏幕或tmux会话中运行该过程。从屏幕会话中分离应该允许进程继续运行。