在 R 中(优雅地)终止 MonetDB 进程
Terminating (graciously) MonetDB process in R
我在各种平台(例如 OS X 和 Linux Centos)上使用 MonetDB 和闪亮的应用程序。
很难一直断开数据库,所以目前我的方法是在不断开数据库的情况下终止闪亮的应用程序。
这意味着闪亮的应用程序在访问数据之前会尝试停止任何 "old" 进程:
monetdb.server.stop(pid)
从命令的来源我了解到它基本上杀死了与所提供的 pid
关联的进程(这意味着用户 运行 应用程序必须能够访问 kill
函数)。
这有时工作正常,但有时当我尝试再次启动 MonetDB 时,我得到
!FATAL: GDKlockHome: Database lock '.gdk_lock' denied
Warning in socketConnection(host = host, port = port, blocking = TRUE, open = "r+b", :
localhost:50000 cannot be opened
Error in socketConnection(host = host, port = port, blocking = TRUE, open = "r+b", :
cannot open the connection
有没有办法避免这个错误(不用一直强行断开数据库,我在 shiny 中使用它)?
MonetDB 确实需要几秒钟才能关闭。如果同时在同一 dbfarm
目录上启动新进程,您将收到 !FATAL: GDKlockHome: Database lock '.gdk_lock' denied
错误。我正在考虑将 wait
参数添加到 monetdb.server.stop
.
所以与此同时,在服务器再次启动之前稍等片刻是个好主意。否则,请考虑使用 monetdbd
来管理您的 MonetDB 服务器。
我在各种平台(例如 OS X 和 Linux Centos)上使用 MonetDB 和闪亮的应用程序。
很难一直断开数据库,所以目前我的方法是在不断开数据库的情况下终止闪亮的应用程序。
这意味着闪亮的应用程序在访问数据之前会尝试停止任何 "old" 进程:
monetdb.server.stop(pid)
从命令的来源我了解到它基本上杀死了与所提供的 pid
关联的进程(这意味着用户 运行 应用程序必须能够访问 kill
函数)。
这有时工作正常,但有时当我尝试再次启动 MonetDB 时,我得到
!FATAL: GDKlockHome: Database lock '.gdk_lock' denied
Warning in socketConnection(host = host, port = port, blocking = TRUE, open = "r+b", :
localhost:50000 cannot be opened
Error in socketConnection(host = host, port = port, blocking = TRUE, open = "r+b", :
cannot open the connection
有没有办法避免这个错误(不用一直强行断开数据库,我在 shiny 中使用它)?
MonetDB 确实需要几秒钟才能关闭。如果同时在同一 dbfarm
目录上启动新进程,您将收到 !FATAL: GDKlockHome: Database lock '.gdk_lock' denied
错误。我正在考虑将 wait
参数添加到 monetdb.server.stop
.
所以与此同时,在服务器再次启动之前稍等片刻是个好主意。否则,请考虑使用 monetdbd
来管理您的 MonetDB 服务器。