Linux/结束异常程序
程序僵死
[编辑]在linux中,如果有某一个程序卡死,可以打开系统监视器。在里面结束这个程序,这个跟windows的任务管理器有点像。它在系统->系统管理->系统监视器。
但是,有些程序并不在那里显示.这时可以打开终端,输入以下命令.
ps -e
这个命令可以列出所有正在运行的程序.例如
7868 ? 00:00:00 pppd 7905 ? 00:00:15 firefox 7934 ? 00:00:00 gnome-terminal 7937 ? 00:00:00 gnome-pty-helpe
找到你要杀死的程序,在对应行的第一列,是这个程序的PID,如果要杀死firefox,可以用下面命令
sudo kill 7905
7905就是PID号,当然要跟据实际改一下.
还有就是,同一个程序每次运行的PID是不一样的.所以每次杀死一个程序前都得查PID号.
如果你已经知道进程名,你也可以直接运行killall命令。 如:
killall gnome-terminal
死机
[编辑]在Linux中死机不是完全的死机,你仍然可以进入后端的命令行模式.按Ctrl+Alt+F1就会进入一个命令行,在这个命令行中你需要重新登陆一下,输入你的用户名,再输密码,登陆成功后,再用命令
ps -e
找出最后出问题程序的PID
sudo kill 7905
这个与上面介绍过的一样.
但是命令行下,屏幕的显示范围有限,如果你要找的程序被挤到屏幕外去了,可以把输出内容重定向到less或者more程序(less比more增加了向前回滚的功能,但不是每一个发行版都包含less)
ps -e | less
这样就可以用键盘上的上下箭头滚动屏幕了。
也可以将输出重定向到一个文件:
ps -e > foo vi foo
退出vi,先按Esc键,然后输入“:q”回车,就可以了。vi是在命令行下的文本编辑器,具本可以看关于文本文档的介绍。
在杀死程序后,要回到图形界面按Ctrl+Alt+F7。
如果你有足够的联想能力和探索精神,可能会想试试其它的Ctrl+Alt+Fn,试试吧。
如果系统已经彻底死机到Ctrl+Alt+F1都无法打开的地步了,就请试试:
按住Alt+SysRq(SysRq在主键盘和小键盘中间一栏的按键内),然后一直保持着Alt键不放的情况下(SysRq键可以放开),依次按下REISUB六个键(分别表示:重置键盘、结束进程、强行杀死进程、同步硬盘的缓存数据、重新挂载硬盘为只读模式、强行重启)。这种方法被成为 Magic SysRq
EXT4格式造成的死机
[编辑]EXT4格式是一种linux磁盘格式,应该说是一个不成熟的磁盘格式,所以在安装ubutu的时候你会发现,EXT4排在EXT3的下面.
在EXT4格式磁盘里,移动大量文件时会造成死机,而且这种死机是完全的死机,没有解决方法,只能强行关机,但这样会造成数据丢失.
但是网上介绍,EXT4格式在访问速度方面还是有很大提高的.所以你如果你的home目录在一个独立的分区中的话,可以把根分区设为EXT4格式,把home分区设为EXT3格式.
因为日常的文件操作都是在home分区进行的.但是在一次安装大量应用程序时,最好不要进行其它操作,因为这是在根分区中进行的。