Ruby on rails Mac OS Catalina无法正确关闭,如果;rails服务器";使用
我一直在MacOSCatalina上使用Rails6.0.1的Ruby on rails Mac OS Catalina无法正确关闭,如果;rails服务器";使用,ruby-on-rails,macos,macos-catalina,ruby-on-rails-6,Ruby On Rails,Macos,Macos Catalina,Ruby On Rails 6,我一直在MacOSCatalina上使用Rails6.0.1的RailsServer。我注意到,如果启动服务器(无论是使用Puma还是unicorn),并关闭它,然后尝试关闭计算机,它就会挂起,直到苹果的监管机构强制关闭系统。在下一次启动时,我总是收到相同的崩溃报告 panic(cpu 2 caller 0xffffff7f8ef9daae): watchdog timeout: no checkins from watchdogd in 187 seconds (21 totalcheckin
RailsServer
。我注意到,如果启动服务器(无论是使用Puma还是unicorn),并关闭它,然后尝试关闭计算机,它就会挂起,直到苹果的监管机构强制关闭系统。在下一次启动时,我总是收到相同的崩溃报告
panic(cpu 2 caller 0xffffff7f8ef9daae): watchdog timeout: no checkins from watchdogd in 187 seconds (21 totalcheckins since monitoring last enabled), shutdown in progress
Backtrace (CPU 2), Frame : Return Address
0xffffff83b7473c40 : 0xffffff800e539a3b
0xffffff83b7473c90 : 0xffffff800e670fe5
0xffffff83b7473cd0 : 0xffffff800e662a5e
0xffffff83b7473d20 : 0xffffff800e4e0a40
0xffffff83b7473d40 : 0xffffff800e539127
0xffffff83b7473e40 : 0xffffff800e53950b
0xffffff83b7473e90 : 0xffffff800ecd1875
0xffffff83b7473f00 : 0xffffff7f8ef9daae
0xffffff83b7473f10 : 0xffffff7f8ef9d472
0xffffff83b7473f50 : 0xffffff7f8efb2e76
0xffffff83b7473fa0 : 0xffffff800e4e013e
Kernel Extensions in backtrace:
com.apple.driver.watchdog(1.0)[AA44EEB8-57FA-3CAC-9105-C7AB21900B9A]@0xffffff7f8ef9c000->0xffffff7f8efa4fff
com.apple.driver.AppleSMC(3.1.9)[6DA4BDC6-9C64-34B3-A60E-D345D2DC2D5F]@0xffffff7f8efa5000->0xffffff7f8efc3fff
dependency: com.apple.driver.watchdog(1)[AA44EEB8-57FA-3CAC-9105-C7AB21900B9A]@0xffffff7f8ef9c000
dependency: com.apple.iokit.IOACPIFamily(1.4)[4A40B298-87E0-373E-84A9-9A2227924F8F]@0xffffff7f8ef07000
dependency: com.apple.iokit.IOPCIFamily(2.9)[AA7C7A4F-9F5D-3533-9E78-177C3B6A72BF]@0xffffff7f8ef10000
BSD process name corresponding to current thread: kernel_task
Boot args: chunklist-security-epoch=0 -chunklist-no-rev2-dev
Mac OS version:
19B88
Kernel version:
Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64
还有其他人看到过这个问题吗?您是如何着手解决的?我的猜测是,
rails服务器
即使在通过Ctrl-C关闭后仍会运行一些进程,这会阻止操作系统正确关闭。这是Catalina的一个常见问题,苹果显然对此并不在意。你可以看到,还有
到目前为止,还没有可用的修复程序,但是重置SMC/NVRAM可以让您正常关机。不受此问题影响的一种方法是使用和 我知道它不能解决您的根本问题,但对于Docker,您是操作系统不可知论者,因此您可以在任何操作系统上工作,如果可以的话,您的项目仍然可以工作。您还可以在操作系统升级中生存
Docker现在非常普遍和流行,因此您可以从社区获得很多帮助。有很多博客文章解释如何将Rails应用程序容器化。这不是一种真正的专业方法,但是
- 打开一个终端(如果可能,请使用特权)
- 使用正在运行的进程的“ps”(“我似乎记得ps awxu”)拍摄快照
- 启动Rails服务器
- 修补一下
- 现在停止服务器
- 再拍一张快照
请等待一段时间,以确保进程不会使系统处于不稳定状态,然后尝试关闭计算机,查看运行情况。我也发现了此问题 这个问题是关于
Catalina
对图形处理单元的支持
如果您使用的是NVIDIA
图形芯片,Catalina
没有问题
但是如果您在Catalina
尤其是2015年的macbook pro
许多应用程序提供商已经与此问题兼容
但苹果公司并没有回应
对于用户来说,这是苹果的问题。但如果我使用rails c,这种情况似乎会发生。如果我不这样做,那么我就可以正确地关闭。这种情况发生在多个backgorund进程中,在我的例子中是PostgreSQL和SteelSeries鼠标驱动程序。在启动Rails之后,可能有一些进程处于活动状态,这会导致系统watchogd在关闭前等待3分钟