运行 ps aux | grep adb,如果有输出 adb fork-server server,则说明adb正在运行,记下pid,执行kill $(pid)。
Linux开机无法启动时的常见现象 1.1 MBR错误 错误问题: 先装linux再装windows类系统后只能引导win的情况. 解决方案: 这种情况下,grub.conf或lilo.conf正常,只需进入rescue模式重安装一次MBR即可. 情况描述: 只能进入win类系统或开机后BIOS自检通过后黑屏无任何提示. 1.2 引导程序错误 错误问题: grub.conf或lilo.conf文件错误.修改了grub.conf或lilo.conf后,或者硬盘物理位置和分区发生变化后造成不能正常启动. 解决方案: 进入rescue mode,修改grub.conf或lilo.conf即可.注意修改了lilo.conf后需执行lilo命令(可加-v 参数查看详细信息) 情况描述: (一)grub的一般情况(路径为:/boot/grub/menu.lst) 1.如果没有找到内核(vmlinuz-x.x.x文件),出现 File not found Press any key to continue.... 说明root(hdx,x)错误,或内核文件名不对. 2.如果找到内核后,运行一会,出现 kernel Panic:Not init Found 一般来说是没有找到根分区(/分区)即root=/dev/xxx不对 3.如果找到内核后,运行一会,出现 Kernel panic: VFS: Unable to mount root fs on ... 一般来说可能忘了加上initrd /initrd-2.4.21-4.EL.img(大多情况发生在使用scsi硬盘) 4.总的来说grub.conf里面必须存在的就几行. #more grub.conf title linux root (hd0,1) #/boot分区所在位置 kernel /vmlinuz-2.4.21-4.EL ro root=/dev/TEST/root #内核和根分区(/分区)位置(根分区可能是LVM和raid,而不仅是hdx和sdx) initrd /initrd-2.4.21-4.EL.img (二)lilo的一般情况(路径为:/etc/lilo.conf) lilo中没有找到内核文件或ramdisk文件(initrd-2.4.xx.x.ximg)出现的提示与grub中相同,但如果是分区发生变化就会出现众所周知的L、LI、010101等错误. lilo.conf中必须出现的几行. image=/boot/vmlinuz-2.4.21-4.EL #内核所在位置 label=linux #等于grub中的title root=/dev/sdc1 #根分区所在位置 initrd=/boot/initrd-2.4.21-4.EL.img 注意如果lilo中不加boot=/dev/sdx,则运行lilo程序时,需加参数指明 lilo -b /dev/sdx (三)综述 1.grub.conf文件设置错误可以使用交互命令进入系统,而lilo.conf文件设置错误又没有设delay值的话,连单用户模式都无法进入,只能用rescue模式修复.修改文件后发正常的重启信号就行了,不用执行sync命令. 2.lilo.conf文件中基本上不管有没有/boot分区,而grub就要区别有无/boot分区,grub.conf中root(hdx,x),如果有/boot分区,这个root就是指/boot分区,如果/boot只是作为一个目录在根分区中(/分区),这个root(hdx,x)就是/分区的所在位置. lilo.conf文件中的内核和根分区(/分区)的位置能不能象grub.conf这样写 lilo: image=/boot/vmlinuz-2.4.21-4.EL root=/dev/sdc1 grub: kernel /vmlinuz-2.4.21-4.EL ro root=/dev/TEST/root lilo.conf和grub.conf都有4行必须写,不同之处在于grub.conf中多了一行指明/boot目录(注意不是/boot分区,而仅仅是/boot目录)所在分区的位置,而lilo.conf中把kernel和根分区(/分区)拆行为两行. 1.3 /etc/inittab文件出错 情况描述: (一)如果出现 INIT: No inittab file found Enter runlevel: 错误原因: 一般来说就是inittab文件丢失或者有错误. (二)如果启动基本正常,到了INIT:Entering runlevel: 3 (或者5)后,就开始出现一系列错误 错误原因: 很有可能/etc/inittab文件中si::sysinit:/etc/rc.d/rc.sysinit这一行发生错误.由于系统许多模块还没有初始化,只能进入rescue模式,如果对inittab文件不很熟悉的话,最好把initscripts的rpm包重装一次.默认的/etc/inittab文件应该能正常启动. (三)系统反复重启或启动后就关机 错误原因: 设置了错误的runlevel,如0或6 (四)如果服务基本已经启动完毕却出现 INIT: no more processes left in this runlevel 错误原因: 可能是没有程序守护 tty1或tty2等,即/etc/inittab文件中少了 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 等等,出现这种情况,如果不大明白/etc/inittab的格式,强制重装initscripts的rpm包即可 1.4 root不能正常登录 情况描述: 正常启动后出现 Login incorrect 错误原因: (一)与密码相关 (1)的确是密码错误,需单用户模式修改 (2)root用户被锁 单用户模式usermod -U root即可 (3)没有root用户,即没有uid为0的用户 (4)/etc/securetty文件中没有tty*(*表示1,2,3,4等) (二)与authconfig、pam有关 (1)authconfig时,选了ldap认证,后来ldap服务器的地址变了后,就无法登录.解决办法,运行 authconfig取消该选项. (2)/etc/pam.d/system-auth中添加了 account required /lib/security/$ISA/pam_access.so 或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等.解决办法同上,运行authconfig后会自动删掉. (3)/etc/pam.d/login中添加了 account required /lib/security/$ISA/pam_access.so 或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等.解决办法:只有手工去查看login文件,运行authconfig后不会自动取消. (4)/etc/pam.d/ 目录中的system-auth 或login中的模块文件名有误. 模块文件名错误同样会使系统无法登录. 建议发生无法登录的情况时,到单用户或rescue模式,首先查看/var/log/secure 和 message文件.楼主:关于无法自检的问题你首先看开机系统自检到哪一步,才能基本确定是什么有问题,不过像这种问题的话一般以主板和内存为主!硬盘无副!
Linux 死机有很多种情况,最常见的是系统负载过高导致的。fork 炸d就是这个原理,此外还可以运行内存耗用极大的程序(如虚拟机),也会迅速提升系统负载。由于系统负载过高导致的卡死,一定是解决的越快越好!此时必须 记住的是,不能再试图依赖任何图形界面的东西,如 Gnome 的系统监视器(这是我从 Windows 遗留下来的愚昧习惯,这只会继续加重这种卡死的局面。
Linux 最初就是不需要图形界面的,因为有一个很强大的文字界面。按 Ctrl-Alt-F1(F1-F6 一般来说都可以),然后等一会儿,就会切换到 tty,也就是所谓的文字界面。这个时候需要用用户名密码登入。注意,可能键盘输入的速度比较慢,不过应该还是可以忍受的。
下面在提示符后面输入 top 回车,这时会看到一张动态的表,上面列出了耗用资源最多的进程。观察它刷新一两次,按q退出,然后输入 kill ,其中的 PID 你可以在 top 里面看到。这个时候应该会快了不少,如果你发现没有成功结束掉,就再输入 kill -KILL ,这次基本上就没问题了。除了上面这种情况外,一些底层软件的 bug 也可能导致一些奇怪的死机问题。我某位同学近日就因为莫名其妙的死机强制重启把 ext4 的分区给伤了。(最后是 sysreccd 修复了,貌似是分区表部分损坏)据其说,死机是键鼠均无反应。一般来说,系统负载高导致的死机,在可怕键盘也会有反应,有人说如果死机到键盘无响应“负载 都无限大了”,亦有人说这可能是 X Server 与驱动配合有问题导致的。不过我们考虑一下遇到这种情况怎么办?OK,这是今天才学到的方法,叫做 reisub,这个方法可以在各种情况下安全地重启计算机。大家在键盘上找,可以找到一个叫做“Sys Rq”的键,在台机的键盘上通常与 Prt Sc 共键,在笔记本可能在其他位置,如 Delete。以台机为例,要使用这种方法需要按住 Alt-Print(Sys Rq),然后依次按下 reisub 这几个键,按完 b 系统就会重启。下面解释一下这个方法:其实 Sys Rq 是一种叫做系统请求的东西,按住 Alt-Print 的时候就相当于按住了 Sys Rq 键,这个时候输入的一切都会直接由 Linux 内核来处理,它可以进行许多低级 *** 作。这个时候 reisub 中的每一个字母都是一个独立 *** 作,他们分别表示:unRaw将键盘控制从X Server那里抢回来tErminate 给所有进程发送 SIGTERM 信号,让他们自己解决善后kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭Sync将所有数据同步至磁盘Unmount将所有分区挂载为只读模式reBoot重启这6个字母的顺序是不可以记错的。那怎么记呢?这里提供一个个人认为比较好的方法:单词 busier(busy 的比较级,更忙)倒过来就是了。基本上就这样了,Linux 的死机本来就不多见,现在见了也可以安全解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)