如何杀掉defunct的进程

有时候kill命令在*nix中似乎并不好使,在使用kill pid或者kill -9 pid之后,仍然有很多进程顽固的留存,并且显示为<defunct>进程。这些进程就成为了僵尸进程,如果用top命令看一下,顶部就显示僵尸进程的数目了。defunct进程的产生有两种可能:一种是这个程序本身就有bug,另外就是用户执行了非正常操作。这两种可能造成了某个进程被打断与父进程或/和子进程的联系,这个进程就成了僵尸~

你的系统有没有这类进程呢?首先用来分析一下:
$ ps -A | grep defunct

假定显示出来这样的结果:
8328 ? 00:00:00 mono <defunct>
25822 ? 00:00:00 ruby <defunct>

即使你再次妄图使用kill命令杀之与无形之中,仍然发现它还顽强的活着。使用pstree命令查找mono和ruby的父进程,或者如下命令列出defunct进程的父进程:
$ ps -ef | grep defunct | more

假定结果如下,PPID就是父进程的pid号:

UID PID PPID …
—————————————————————

kenno 8328 6757 0 Mar22 ? 00:00:00 [mono] <defunct>
kenno 18803 18320 0 Apr02 ? 00:00:00 [ruby] <defunct>

接下来就可以使用kill -9 6757来杀掉父进程,然后通过ps -A | grep defunct验证一下效果。
(更多…)

发表在 Linux | 标签: ,

使用Ophcrack破解Windows管理员密码

Ophcrack是一款免费的Windows密码破解工具。Ophcrack基于彩虹表,拥有超强的破解能力,他可以破解LM和NTLM哈希(hash),哈希很多程序员都知道啊,perl教程里专门讲哈希的就有一大部分。据传说有位程序员用彩虹表技术5分钟就破解了一个13位的系统密码。(什么是彩虹表?)Ophcrack支持在Windows/Linux/Mac OS多平台运行,也可以脱离其他操作系统运行在自己的平台上也就是提供了LiveCD,这个意思就是,你不需要以普通用户登陆Windows甚至根本不用启动Windows就可以实现破解。Opcrack支持XP和Vista的破解,当然,密码越复杂位数越多需要的彩虹表也越大,Opcrack提供了针对不同安全级别密码的大量彩虹表下载。

本来试图简单介绍Ophcrack和彩虹表,结果发现并不是一句两句话就能介绍完的,因为翻遍了大量的网上资料也没看懂。下面以Windows版本为例,讲一下它的使用,图片来自TechRadar。首先,运行软件,选择 Load –> Local SAM


(更多…)

发表在 Others-SW ,Windows | 标签: , , ,

vim编辑器颜色主题color scheme

vim/gvim只有语法高亮并不足以展示优秀的界面,它还有丰富的颜色主题。不同的颜色主题对于语法高亮的颜色进行了设置,我的颜色主题选择的是murphy.vim

如何选择颜色主题呢?在vim/gvim中,使用命令 :colorscheme murphy 就可以切换到murphy的颜色主题,前提是你的电脑上必须安装有这个主题的文件。颜色主题文件一般在这个目录下 /usr/share/vim/vim版本/colors

默认安装的颜色主题可能包括以下几个

$ ls -1 /usr/share/vim/vim72/colors/
blue.vim
darkblue.vim
default.vim
delek.vim
desert.vim
elflord.vim
evening.vim
koehler.vim
morning.vim
murphy.vim
pablo.vim
peachpuff.vim
README.txt
ron.vim
shine.vim
slate.vim
torte.vim
zellner.vim

这个地址有更丰富的颜色主题包 http://www.vim.org/scripts/download_script.php?src_id=10775

这个地址给出了各颜色主题的效果展示 http://www.vi-improved.org/color_sampler_pack/

发表在 Linux ,Others-SW | 标签: , ,

vim编辑器加载systemverilog语法高亮

正愁于gvim编辑器不能高亮显示SystemVerilog语法,安装目录还没有权限修改。网上寻来一法,想可能其他语言的语法高亮也可以类似操作。

在自己的主目录下(一般是 /home/用户名)新建名为 .vim 的隐藏文件夹,在 .vim 文件夹内新建两个文件夹,分别是 ftdetect 和 syntax。即 /home/用户名/.vim/ftdetect 和 /home/用户名/.vim/syntax 目录。

在 ftdetect目录下新建文本文件名为 sv.vim ,具体内容仅为一行

au BufRead,BufNewFile *.sv set filetype=systemverilog

另外到下面这个地址下载 systemverilog.vim 放到 syntax 目录下

http://www.vim.org/scripts/download_script.php?src_id=5834

然后,重启 vim 或者 gvim 就可以了。

发表在 Linux ,Others-SW | 标签: , ,

在Ubuntu 10.10上安装使用Tor网络

Tor本身不具备GUI,一个名为Vidalia的程序为Tor用户提供了易用的图形界面。所以,安装Tor的时候,需要安装3个模块:Tor,Polipo和Vidalia。其中Polipo是一个小型的代理服务器(http://www.pps.jussieu.fr/~jch/software/polipo/)。

以Ubuntu 10.10(Maverick)为例,介绍Tor的安装,整个过程还是很简单的,完全可以写到一个脚本里直接一步运行 :)

1、打开Software Sources,选择Other Software标签,点击底部的Add按钮,粘贴下面的语句进去

deb http://deb.torproject.org/torproject.org maverick main

点击Add Source,点击Close。当系统提示是否Reload时,选择Yes并且忽略所有错误。

2、打开一个终端,添加Tor仓库的钥匙并且更新apt

gpg –keyserver keys.gnupg.net –recv 886DDD89
gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
sudo apt-get update

3、安装三剑客Tor,Polipo,和Vidalia:

sudo apt-get install tor tor-geoipdb polipo vidalia -y

安装Vidalia时如果有提示,选择永久替换或类似的字眼吧。

4、下载Polipo一个配置好的配置文件并替换默认文件

wget https://gitweb.torproject.org/torbrowser.git/blob_plain/HEAD:/build-scripts/config/polipo.conf
sudo mv /etc/polipo/config /etc/polipo/config.bak
sudo mv polipo.conf /etc/polipo/config

5、现在需要停止Tor和重启Polipo服务

sudo /etc/init.d/tor stop
sudo /etc/init.d/polipo stop
sudo /etc/init.d/polipo start

6、现在就可以打开Vidalia程序链接Tor网络了,也可以设置Vidalia随电脑开机自动启动。

对于Tor有两种类型的配置:
a、HTTP或HTTPS – 典型地应用在各种浏览器上,如Opera,Firefox,Safari,Google Chrome等等,如下设置
Host: 127.0.0.1
Port: 8118

b、Sockets – 典型地应用在多种即时通信软件上,如Trillian,Digsby,MSN,AOL,Empathy,Pidgin等等,如下配置
Host: 127.0.0.1
Port: 9050

发表在 GFW ,Linux ,Others-SW | 标签: , , , ,

Offline Google Mail: Chrome OS上的Outlook Express?

Google在Chrome Web Store中加入了Offline Google Mail,安装之后使得Chrome浏览器可以在不联网的情况下使用Gmail,除了阅读整理邮件外,还可以于联网的时候一样撰写或者回复转发邮件等等,当联网之后,这些邮件会自动发出。

从界面上看,Offline Google Mail的两栏的界面更像是针对平板电脑而设计的。
offline google mail - chrome web app

Gmail的离线功能早就存在,不过这次进入Chrome Web Sotre有理由看作是为Chrome OS加入离线邮件管理器的尝试。尽管现在到处可以上网,资费也越来越便宜,不过本地存储仍然是对资源的最快的和最便宜的访问方式。

发表在 Chrome OS ,Google ,浏览器 | 标签: , , , ,

GIT在Linux上的安装和使用简介

GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,它不必服务器端软件支持,速度和效率也有着相当程度的提高。

如果拥有CVS或者SVN的使用背景,那么更熟悉的方法是客户端-服务器端模式,所有的文件仓库(repository)都是存放在服务器上的,用户需要在本地安装客户端去服务器上的项目中获取旧版本,提交新版本。

GIT抛弃了这种模式,当用户从远端GIT仓库下载一个工程(project)时,这个工程的所有文件,包括版本历史,文件改动都会下载下来,这时候本地GIT就演变成了一个服务器,所有的提交(check-in)、提出(check-out)都会在这个本地服务器上执行,当你确定一项修改之后,可以再和远端仓库进行合并和同步(merge)。所以,GIT的安装和配置步骤无论在本机还是服务器上都是完全一样的。

这里简单地介绍GIT在Linux上的安装和使用,算做一个新手入门的简单教程。另外,GIT是有Windows上的客户端的。

1、下载和安装GIT
从这里 http://git-scm.com/download 下载GIT或者使用wget命令获取

$ cd
$ wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2

解压后切换到其目录

$ tar xvfj git-1.7.6.tar.bz2
$ cd git-1.7.6

使用默认配置进行安装,如果想修改配置,可以使用 ./configure -help 来获取帮助

$ ./configure
$ make
$ make install

2、初始化配置
GIT默认安装在 /usr/local/bin ,安装之后可以验证一下是否安装好

$ whereis git
git: /usr/local/bin/git
$ git –version
git version 1.7.6
$ git –help

首先需要指定用户名和电子邮件地址

$ git config –global user.name “GIT Admin”
$ git config –global user.emal obugs.net@gmail.com

再验证一下配置信息

$ git config –list
user.name=GIT Admin
user.email=obugs.net@gmail.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

其实这些配置是存放在个人主目录下的 .gitconfig 文件中的

$ cat ~/.gitconfig
[user]
name = GIT Admin
email = obugs.net@gmail.com

(更多…)

发表在 Linux ,Unix | 标签: , , , , , ,

Linux/Unix LS命令详解与实例

Linux或者Unix下最常用的命令莫过于ls了,可以说木有ls命令,*nix使用者将无法生存。不管你一天使用这个命令十次还是一百次,了解ls的多种用法将会是你的工作更加有趣。

这里搜集了ls命令的15中典型用法。

1、使用ls -t命令的组合形式来修改最后一次编辑的文件
ls -t是将文件按照修改时间排列起来,最近修改的在最上面,那么有下面这个命令来编辑最近编辑过的文件

$ vi first-file.txt
$ vi second-file.txt
$ vi `ls -t | head -1`

其中head -1(数字)是用来获取ls之后的第一个文件的,| 代表管道操作,这个命令会自动选择second-file.txt进行编辑

2、使用ls -1(数字)按行列出文件

$ ls -1
bin
boot
cdrom
dev
etc
home
lib

3、使用ls -l(小写字母)列出文件和文件夹的详细信息

$ ls -l
-rw-r—– 1 ramesh team-dev 9275204 Jun 13 15:27 methesaur.txt.gz

这段信息分别代表文件类型、文件权限设置、链接文件数、所有者、所有组、文件大小、最后修改时间和文件名

4、使用ls -lh用可被人读的文件大小列出文件和文件夹的详细信息
比较拗口,运行起来看一下,和ls -l比起来文件大小使用MB的方式显示了

$ ls -lh
-rw-r—– 1 ramesh team-dev 8.9M Jun 13 15:27 methesaur.txt.gz

(更多…)

发表在 Linux ,Unix | 标签: , ,

微软从HTC手机上的获利超过自有的Windows手机

市场研究公司Canalys本月初发布了今年第二季度智能手机市场评估。数据显示,全球手机市场增长迅速,亚洲仍然是最大的市场。操作系统的占有率上,第二季度Android已经接近50%,苹果的iOS退居第二位,三四位分别是Symbian和RIM,Microsoft的Windows手机出货量太小,二季度只占到全球市场的1%。在韩国,Android占有率达到了85%,台湾达到了71%。

不过,Android手机的大卖受益者并不只有Google和手机制造商HTC。由于Android的专利大战,众多公司都想从中分一杯羹,包括Microsoft、Oracle、Apple及一些其他公司。

以Microsoft为例,HTC每卖出一部Android手机,需要向微软支付5美元专利费。并且微软还在向其他Android手机制造商通过诉讼寻求每部手机7.5美元到12.5美元的专利费用。

那么微软在安卓手机上的获利有多少呢?Asymco分析员Horace Dediu在Twitter上写道,2011年第二季度HTC的Android手机为Microsoft带来6000万美元的收入,而同期Windows手机只给Microsoft带来2100万美元的收入。HTC的出货量大是直接原因,1200万部HTC Android手机,每部5美元的专利费。Windows手机出货140万部,每部收取15美元费用。
(更多…)

发表在 Android ,Google ,Microsoft ,Windows ,手机 | 标签: , , ,

Ubuntu 12.04 LTS 发布时间表确定

Ubuntu的wiki页面上已经列出了即将到来的Ubuntu 12.04 LTS操作系统的发布时间表,这个版本最终会于2012年的四月末正式发行。

尽管代码名称还没有想好,但是新版本Ubuntu的发布时间表已经早早公布出来了。Ubuntu 12.04将会是个长期支持版(LTS)。从12.04开始,Ubuntu将修改发行策略,中间会推出两版Alpha和两版Beta版本,然后会发布候选版Release Candidate,路线图如下:

December 1st, 2011 – Alpha 1 release
February 2nd, 2012 – Alpha 2 release
March 1st, 2012 – Beta 1 release
March 22nd, 2012 – Beta 2 release
April 19th, 2012 – Release Candidate release
April 26th, 2012 – Final release of Ubuntu 12.04

Ubuntu 12.04 LTS将会是Ubuntu系统操作系统的第16个发布版本。另外今年的10月13号,还有Ubuntu 11.10(Oneiric Ocelot)版本的正式发布。

Ubuntu 12.04既然是长期支持版本,那么会有至少三个常规维护版本出现,2012年8月16日发布Ubuntu 12.04.1,2013年2月7日发布12.04.2,而12.04.3将会在2013年夏季的中间发布。
(更多…)

发表在 Linux | 标签: ,