Vim 启动错误Caught deadly signal SEGV

本文介绍了解决CentOS 6.5启动后命令提示符异常的方法,通过复制系统配置文件来修复提示符问题。同时,还解决了Vim启动时出现的SEGV错误,发现是由~/.vimrc配置文件导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Vim 启动错误

Vim: Caught deadly signal SEGV
Vim: Finished.
Segmentation fault (core dumped)

原因是~/.vimrc问题,删除~/.vimrc后问题解决

2. Centos6.5 启动[root]@localhost变成-bash-4.1#解决办法

系统启动后bash提示符变成`-bash-4.1# 现象如下:

-bash-4.1# sh                        #由bash进入sh
sh-4.1# tcsh                         #进入tcsh
[root@nagios-client02 ~]#            #此时为tcsh
[root@nagios-client02 ~]# bash
-bash-4.1# sh

ps | grep $$ | awk ‘{print $4}’`查看当前shell


bash-4.1# ps | grep $$ | awk '{print $4}'
/bin/bash

原因是缺少用户环境配置文件,将/etc/skel所有的配置文件复制到root目录下。参考1
解决办法:cp /etc/skel/. /root #注意拷贝整个目录包括隐藏文件用 . 号参考2

退出后重新进入恢复正常 [root@nagios-client02 ~]#

鸟哥私房菜 10.4.3 bash 的環境設定檔###参考3

你要注意的是,這個 /etc/bashrc 是 CentOS 特有的 (其實是 Red Hat 系統特有的),其他>
不同的 distributions 可能會放置在不同的檔名就是了。由於這個 ~/.bashrc 會呼叫
/etc/bashrc 及 /etc/profile.d/*.sh , 所以,萬一你沒有 ~/.bashrc (可能自己不小
心將他刪除了),那麼你會發現你的 bash 提示字元可能會變成這個樣子:

-bash-4.2$
不要太擔心啦!這是正常的,因為你並沒有呼叫 /etc/bashrc 來規範 PS1 變數啦!而且這樣的情
況也不會影響你的 bash 使用。 如果你想要將命令提示字元捉回來,那麼可以複製
/etc/skel/.bashrc 到你的家目錄,再修訂一下你所想要的內容, 並使用 source 去呼叫
~/.bashrc ,那你的命令提示字元就會回來啦!

07-09 1116
<think>好的,我现在要帮用户解决Vim遇到的HUP信号问题。首先,用户提到的错误信息是“Caught deadly signal HUP”,这表示Vim进程接收到了SIGHUP信号。我需要先理解HUP信号的含义和常见触发场景。 HUP(Hang Up)信号通常与终端断开连接有关。比如,当用户通过SSH连接到远程服务器,启动Vim后,如果网络中断或终端窗口意外关闭,系统会发送SIGHUP给正在运行的进程,导致其终止。这种情况下,Vim可能会异常退出,并且未保存的更改可能丢失。 接下来,我需要查阅用户提供的引用内容。引用[1]和[2]提到SEGV信号导致的段错误,可能与HUP问题无关,但引用[3]提到/dev/gpmctl设备问题,引用[4]涉及SSH服务重启。虽然这些引用主要针对SEGV,但可能某些系统配置问题也可能间接导致HUP问题,比如终端环境不稳定。 可能的解决方案包括: 1. **使用screen或tmux**:这些终端复用工具可以在会话断开后保持进程运行,避免HUP信号。用户可以在启动Vim前运行screen或tmux,这样即使连接断开,也能重新连接会话恢复工作。 2. **nohup命令**:在启动Vim时使用nohup命令,忽略HUP信号。例如`nohup vim file.txt`,但这种方法可能不适用于交互式应用,因为标准输入可能被关闭。 3. **检查终端配置**:根据引用[3],终端类型可能影响Vim的行为。确保终端类型设置正确,比如在SSH连接中设置TERM为xterm。可以通过`export TERM=xterm`来测试。 4. **SSH配置调整**:引用[4]提到重启SSH服务,可能相关的配置如保持连接选项。在SSH客户端配置中添加`ServerAliveInterval`和`ServerAliveCountMax`,防止连接超时断开。 5. **Vim的自动保存和会话恢复**:配置Vim的自动保存插件(如vim-auto-save)或使用`:mksession`手动保存会话,以便在意外断开后恢复。 需要验证这些方法的有效性,并考虑用户的实际使用场景。例如,用户是否经常通过SSH工作,是否有可能的网络不稳定等。此外,HUP问题可能与特定的环境或Vim插件冲突有关,建议用户检查最近是否安装了新插件或更改了配置。 最后,生成相关问题,帮助用户进一步排查和优化环境配置,比如询问终端类型、SSH设置,或者建议使用持久化会话工具。</think>### Vim遭遇HUP信号解决方案 Vim提示`Caught deadly signal HUP`表示进程接收到了挂断信号(SIGHUP),通常由终端异常断开或会话终止引起。以下是分步解决方案: #### 1. 终端复用工具(推荐) 使用`screen`或`tmux`创建持久会话,防止SSH断开导致信号中断: ```bash # 安装tmux(Linux) sudo apt install tmux # 启动新会话 tmux new -s vim_session # 在tmux中运行vim vim file.txt ``` 断开后重连可通过`tmux attach -t vim_session`恢复工作[^3]。 #### 2. nohup命令防护 在vim启动时忽略HUP信号(适用于非交互式场景): ```bash nohup vim file.txt > /dev/null 2>&1 & ``` 注意:此方法可能导致终端输入异常,建议优先使用tmux。 #### 3. 检查SSH/Terminal配置 * **SSH超时设置** 在客户端`~/.ssh/config`添加: ``` Host * ServerAliveInterval 60 ServerAliveCountMax 5 ``` 保持长连接状态,降低意外断开概率[^4]。 * **终端类型验证** 通过`echo $TERM`检查终端类型,若为`dumb`或异常值,尝试: ```bash export TERM=xterm-256color ``` #### 4. Vim会话保存与恢复 手动保存会话状态(需Vim支持): ```vim :mksession ~/vim_session.vim ``` 恢复时使用`vim -S ~/vim_session.vim`加载编辑状态。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值