`
tomcat_oracle
  • 浏览: 316516 次
社区版块
存档分类
最新评论

命令行的故障排除:给linux初学者的建议

阅读更多
桌面冻结该怎么办?
在使图形环境更稳定的过程中,复合窗口管理器是一个巨大的进步。但是,有时候你们漂亮的linux图形化桌面锁起来了,那么你会怎么办?你所要做的是通过ctrl + alt + f2进入到一个控制台。这个控制台和你的图形环境是互相独立的。
接下来你这么做。假如你知道是什么锁住了你的桌面,你可以找到它的进程号并杀死它。比如,当我在我的海豚图形文件管理器中连接到一个远端网络共享时,网络连接中断了,海豚图形文件管理器锁住了我整个桌面。所以我进入控制台模式,运行下列命令来找到它的进程号:
$ ps aux | grep dolphin 
carla 9218 ?  Sl  0:00 /usr/bin/dolphin    
     --icon system-file-manager -caption Dolphin
这表明carla拥有这个进程,她能够使用下面的命令来杀死这个进程:
$ kill 9218
假如root或者不同的使用者拥有这个进程,那就使用命令:sudo kill 9218
现在,在你的键盘上按下向上箭头按键去回到上一条命令,按下Enter键去重新运行,看我们的杀死命令是否有效,是否杀死了那个进程。如果,没有杀死,那就使用更霸道的命令:
$ kill -9 9218
-9发送SIGKILL信号,这个信号是不能被忽略的,是直接送到内核的(个人理解nuclear option)。
假如你发现一个失控进程已近催生了子进程。为了防止你所杀死的子进程再次由它产生,你需要去杀死父进程,因为它产生子进程,这样可以防止它再产生子进程。(假如你不熟悉这些术语,那么你有同伴了,我也不熟悉这些术语(原作者的观点))。添加-f选项来在树状图中看父进程和子进程的关系,就像plex媒体服务器这个简短的例子:
root 1776 /bin/sh -e /proc/self/fd/9 
plex 1803   \_ /bin/sh /usr/sbin/start_pms 
plex 1804     \_ ./Plex Media Server 
plex 1970     \_Plex Plug-in [com.plexapp.system] 
plex 2645     \_ /usr/lib/plexmediaserver 
plex 2690     \_ Plex Plug-in 
所以,你可以用sudo kill 1776去干掉上述所有的进程。
大多数linux发行版有六个控制台:tty1~tty6.tty7通常是你的x会话(x window 图形界面),所以你可以按ctrl + alt + f7来重返你的图形界面。

谁是罪魁祸首?
假如你不确定哪个进程造成了这个问题,试试古老而有用的top命令:
$ top  
top - 12:07:33 up 4:13, 7 users, load average: 0.56, 0.38, 0.34 
[...] 
PID USER  VIRT  RES   %CPU %MEM  COMMAND 
6399 carla  493m 27m 94.2 0.2 konsole
4386 carla 1937m 819m  2.0  5.1 firefox
1511 root   613m 189m  1.3  1.2  Xorg
上述结果指出Konsole是麻烦制造者,因为它占用了94.2%的cpu。你可以很清楚的看到这个进程的id号:6399,来吧,杀死这个进程。

记录保存一天
大多数服务器记录他们的活动。假如你查看/var/log,你会发现一系列的日志文件如CPUS,boot,dmesg,kern.log,syslog,和udev.当你安装服务的时候,他们通常有可配置的日志记录,所以你可以从调试信息的紧急程度来选择放日志文件的地点及日志文件的详细程度。下面是调试信息等级:
  • debug
  • info
  • notice
  • warning
  • error
  • critical
  • alert
  • emergency
emergency输出最少量的信息。
debug输出最多的信息。
info是一个很好的每天记录等级,记录日常活动以及警告和错误。
debug可以是压倒性的,所以当你在研究一个问题时,一个好的策略是打开调试,然后当问题被解决时将问题写到info中。你将在哪里做这些呢?看一下/etc这个目录。个人的服务都有自己的配置文件,比如/etc/cups/cupsd.conf。如果你的linux是古老的syslogd,这个syslog在/etc/syslog.conf中配置。如果你有新的rsyslogd,你的syslog在/etc/rsyslog.conf中配置。
人们并不是很喜欢去读日志文件。但是在要解决问题的时候,他们不得不读。有个好方法是,你可以用grep命令让错误信息自动出现。
$ grep -i error /var/log/syslog
任何文本字符串都将帮助你快速的找到你所需要的信息,如下这个例子是网络管理经常做的:
$ grep -i networkmanager /var/log/syslog 
Dec 10 14:54:50 studio NetworkManager[1402]:  
   (eth1): DHCPv4 state changed bound -> renew 
Dec 10 14:54:50 studio NetworkManager[1402]:      
   address 192.168.10.182 
Dec 10 14:54:50 studio NetworkManager[1402]:
   prefix 24 (255.255.255.0)
                
一旦你找到看起来有用的信息,你可以参考你的文档,看看是怎么回事,并通过谷歌查询跟多的信息。

但是,图形应用程序没有日志
大部分图形应用部产生日志文件,这是可悲的和没有帮助的。但是,你任然可以从命令行运行应用程序来查看一些命令输出,如我最喜欢的游戏:超级TuxKart:
$ supertuxkart  
Irrlicht Engine version 1.8.0 Linux 3.8.0-19-generic 
  #30-Ubuntu SMP Wed May 1 1   
6:35:23 UTC 2013 x86_64 [FileManager] Data files will be fetched from:
    '/usr/share/games/supertuxkart' 
[FileManager] Addons files will be stored in    
   '/home/carla/.local/share/supertuxkart/addons'.
Debian要求所有的程序有一个man手册,所以如果你使用的是Debian,Ubuntu或者他们的衍生系统,你可以使用man手册。如果没有man手册或其它文件,试试-h参数(比如 superuxkart -h)来查看帮助菜单。当然,我不可能面面俱到,所以我举了个例子。但是具体是什么原因导致图形界面挂掉要具体问题具体分析。你可能是丢失了一个库或者系统发生了冲突,具体命令行会告诉你。
9
15
分享到:
评论

相关推荐

    Linux故障排除宝典教程.rar

    《Linux故障排除宝典教程》是一份全面深入的指南,专为解决Linux系统中的各种问题而设计。...无论你是初学者还是经验丰富的专业人士,这个教程都将提供宝贵的故障排除经验和技巧,帮助你在Linux世界中游刃有余。

    Linux初学者指南

    此外,Linux初学者指南还会介绍系统管理,包括软件包管理(如`apt`或`yum`)、系统更新、进程管理、日志查看以及基本的故障排除方法。对于有志于深入学习Linux的读者,可能还会涉及编译源代码安装软件、系统服务配置...

    linux 初学者指南

    Linux初学者指南是一本专为初次接触Linux操作系统的人设计的教程。这本书涵盖了从安装到日常使用的各个关键领域,旨在帮助读者快速理解并掌握Linux的基本概念和操作。作为一本经典的入门书籍,它深入浅出地解释了...

    Linux初学者入门优秀教程.rar

    Linux初学者入门优秀教程是一个非常宝贵的资源,专为那些刚刚接触Linux系统的人设计。Linux是一种免费、开源的操作系统,它的开放源代码特性使得用户可以自由地定制和改进系统,吸引了大量的开发者和爱好者。本教程...

    快乐的linux命令行

    - **本书的内容**:本书旨在帮助初学者掌握Linux命令行的基本操作,内容涵盖了从简单的文件系统导航到复杂的命令组合与脚本编写。 #### 什么是shell - **终端仿真器**:在现代计算机上,我们通常通过终端仿真器来...

    linux初学者入门

    Linux初学者入门是一个理想的起点,尤其对于那些对操作系统有浓厚兴趣但尚未接触过Linux的人来说。Linux是一种自由且开源的操作系统,它的核心理念是开放源代码,允许用户自定义和改进。这个入门教程将引领你逐步...

    UbuntuLinux初学者入门学习教程.rar

    《Ubuntu Linux初学者入门学习教程》是一本专为那些对Linux系统感兴趣,特别是对Ubuntu Linux操作系统的初学者设计的指南。这本书旨在帮助读者从零开始,逐步深入理解Ubuntu Linux,并最终能够熟练地运用它进行日常...

    韩顺平Linux教程

    根据提供的文件信息,“韩顺平Linux教程”是一个针对Linux初学者设计的教学资源。接下来,我们将基于这个信息,详细探讨与该教程相关的知识点。 ### Linux基础知识 #### 什么是Linux? Linux是一种自由开放源代码...

    LINUX初学指南

    提供的压缩包资源中,“打开方式.htm”可能包含关于如何在不同环境中打开和阅读PDF文件的指南,“Linux初学者指南.pdf”是主要的学习资料,应包含以上提到的所有知识点,“爱书吧-2万本图书免费下载.url”是一个链接...

    ibm的linux 教程(原版教材)

    本教程旨在帮助读者深入理解Linux系统,无论是初学者还是有经验的IT专业人士,都能从中获益匪浅。下面将详细解析教程中的主要知识点。 1. Linux简介: - Linux的起源:Linux由林纳斯·托瓦兹开发,是一个开源、...

    linux培训教材

    这份"Linux培训教材"旨在为初学者提供一个全面的入门指南,帮助他们掌握Linux的基础知识和核心技能。 《Linux实用培训教程第一部分》可能涵盖以下内容: 1. Linux历史:介绍Linux的起源、发展和它的哲学理念。 2. ...

    系统引导管理器GRUB,为初学者指南

    这篇初学者指南将深入讲解GRUB的基本概念、安装与配置,以及如何处理GRUB在Windows与Linux共存环境中的问题。 1. GRUB基础知识: GRUB作为引导加载器,它的主要任务是在电脑启动时加载操作系统。它通过读取硬盘上...

    Linux Administration A Beginner's Guide

    《Linux Administration: A Beginner's Guide》是为Linux初学者提供的指南书籍,其第五版由Wale Soyinka编写。本书详细介绍了Linux系统管理的基本概念、操作和技巧,旨在帮助读者掌握Linux系统的基本知识,从而能够...

    linux实用培训教程

    15. **故障排除**:提供一些常见的Linux问题解决策略,帮助用户快速诊断和修复系统故障。 通过这个Linux实用培训教程,无论是初学者还是有一定经验的用户,都能提升自己的Linux技能,更好地适应各种Linux环境中的...

    ubuntu部落:初学者推荐用书

    7. **故障排除**:初学者经常会遇到各种问题,如找不到文件、运行命令出错等。书里会教你怎么使用`man`命令查阅手册页,以及如何利用Google和社区论坛寻找解决方案。 8. **bash脚本**:最后,学习编写简单的bash...

    Linux实用培训学习教程(最终版)

    这份最终版的教程涵盖了从基础到高级的各种主题,旨在帮助初学者和有经验的用户提升技能,更好地在Linux环境中工作。 Linux是一个免费、开源的操作系统,基于Unix,其核心由林纳斯·托瓦兹开发。它的开放源代码特性...

    Best Linux Books

    - 《鸟哥的Linux私房菜》:适合Linux初学者,全面覆盖了Linux基本操作、系统管理等知识。 2. **Linux系统管理**: - 《系统管理实践》:讲解了Linux系统维护和故障排除的实战技巧。 - 《Linux系统管理艺术》:...

    .Net提高班 - linux课件 .pdf

    - Linux发行版的选择:对于初学者和程序员,Ubuntu是一个很好的起点,因为它内置了适合编程的软件和库。 - 虚拟机的使用:虚拟机软件(如VMware、VirtualBox、Hyper-V)可以在Windows系统上创建一个虚拟的Linux...

    从Windows转向Linux基础教程

    初学者需要了解如何定制桌面,管理窗口,以及使用桌面环境中的各种工具。 4. **文件系统与命令行**:Linux使用不同的文件系统结构,以"/"根目录开始。命令行是Linux的强大工具,学习基本的命令如ls、cd、mkdir、rm...

    Linux命令行大全中文版(CHM格式)

    这份"Linux命令行大全中文版"是一个非常宝贵的资源,包含了丰富的Linux命令知识,适用于初学者和进阶用户。CHM格式是一种微软开发的帮助文件格式,它将内容组织成易于浏览的结构,方便用户快速查找所需信息。 在...

Global site tag (gtag.js) - Google Analytics