RStudio强制退出会话后无法运行代码、无法正常关闭怎么办?
RStudio启动后无响应、无法正常退出问题的解决方案
问题触发根源
此前运行的read.table("file", sep = "\t", fill = T, header = F)代码,因为传入的文件参数没有对应有效路径,R进程会持续等待控制台输入内容,进入无限等待的卡死状态;后续多次强制退出应用没有彻底清除残留的R后台进程、会话缓存,导致每次启动RStudio都会自动尝试加载这个卡住的异常会话,即便重装RStudio也无法解决——因为Mac端卸载应用不会删除用户目录下的历史配置与缓存文件。
分步排查操作
- 第一步:清除所有后台残留R进程
因R会话已进入无响应的等待输入状态,RStudio界面内的「终止会话」按钮无法向R进程发送有效终止信号,必须通过系统命令强制结束对应进程。打开Mac自带的「终端」应用,依次执行以下命令:killall Rsessionkillall rserver
执行完成后可打开活动监视器搜索"R",确认无相关后台进程运行。 - 第二步:删除RStudio的异常会话缓存
RStudio会自动保存上次未正常退出的会话状态,这是重装后问题依旧的核心原因,在终端执行以下命令删除对应缓存路径:rm -rf ~/.rstudio/monitored/lists/rm -rf ~/.rstudio/sessions/active/ - 第三步:关闭R启动时的历史工作区自动加载逻辑
在终端执行命令写入R的全局启动配置,避免启动时自动加载之前卡住的会话工作区:echo "restoreWorkspace=0" >> ~/.Rprofile - 第四步:彻底重置R与RStudio的用户配置(前三步无效时执行)
该操作会清除所有本地自定义的RStudio设置、已安装的R包,操作前请备份需要的项目文件,依次在终端执行以下命令:rm -rf ~/.rstudio-desktoprm -rf ~/.RDatarm -rf ~/.Rhistoryrm -rf ~/Library/Application Support/RStudio
执行完成后重启RStudio,应用将回到初始安装状态,不会加载任何历史异常会话。
后续使用提示
后续调用read.table读取文件时,务必传入完整有效的文件绝对路径,避免因为路径不存在触发R的控制台等待输入逻辑,导致会话卡死。
内容的提问来源于stack exchange,提问作者Eli Sulvarán Guel
相关产品推荐
相关产品推荐

