Linux下查看某进程的详细状态

Linux下用”ps”命令可以查看进程列表中某一个进程的内存及CPU占用信息,那么,如果想查看某一进程详细的状态信息应该如何去做呢。
其实Linux下进程的详细信息会被记录在/proc/PID/status文件中,其中PID为某个进程的Process ID。现在假设有个程序ID为788,那么我们只要

cat /proc/788/status

就可以看到788这个进程的详细信息了。至于如何得到PID,可以用”ps aux | grep ‘进程名'” 找到pid。
或者干脆用一行流:

cat /proc/`ps ax | grep mysql | awk '{print $1}' | head -1`/status

diff的使用及制作patch

VPS上的LANMP都是自己编译出来的,因为个人比较追求新的发布,所以一有新的版本发布,就会上down下来编译更新。之前都会对源码做些个人化的修改后再编译,就经常要对新的发布版本做一样的修改。经常性地这样手动更改很麻烦,所以就想到了制作patch补丁。

diff工具的使用

diff [OPTION]... FILES

FILES 表示多个文件或目录
说明:该命令告诉使用者,为了使文件,如FILES一致,需要修改它们的哪些行。如果用 “-“表示 FILES,则表示标准输入。如果 FILES 是目录,那么 diff 将使用该目录中的同名文件进行比较。
继续阅读diff的使用及制作patch

apache2上配置php-fastcgi


一直以来配置LAMP都会让php以apache handler的方式运行,虽然这样的运行模式会非常高效,但一直觉得它很占我VPS的资源,可怜的128M内存。所以尝试将php以fastcgi的模式运行。

安装

首先安装apache的fastcgi模块,apache下的fastcgi模式有两个:fastcgi_module与fcgid_module,比较后发现fcgid_module比较有优势,所以我选择了fcgid的模块,可以从源安装,也可以从官方下载然后自己编译。图方便,我直接从源安装:

apt-get install libapache2-mod-fcgid

接下去安装php-cgi

apt-get install php5-cgi

如果自己编译的话,记得去掉–with-apxs2,并加上–enable-cgi编译选项。
继续阅读apache2上配置php-fastcgi

在Archlinux上使用BFS内核

之前有听一个朋友说起过BFS的内核,周末的时候就研究了一下,然后在网上找了这篇文章,文章末尾有提到很多人在用了BFS的内核后的感受是“快 !人能感觉到的快!”,于是就十分想感受一下这个传说中BFS神器。

在Archlinux中还有一个伟大的东西叫AUR,于是在AUR中找到了这位kernel26-bfs,直接yaourt -S kernel26-bfs,大大省去了patch内核的麻烦。

什么是BFS?

BFS的作者是传说中的澳洲猛士CK(Con Kolivas)——资深内核 hacker。BFS(Brain Fuck Scheduler)内核区别于一般内核的CFS(Completely Fair Schedule) 的任务调度管理器,一般的CFS支持多达几千个的CPU架构,而这个支持是牺牲了一定程度上的性能。于是而 BFS 在其中作了聚会,让内核最多支持 16 个 CPU,让问题的复杂化降低,让算法变得简单高效。

继续阅读在Archlinux上使用BFS内核

ispcp中proftpd连接失败

在VPS上装了个ISPCP,以方便主机管理。

装好后发现FTP连不上,在VPS上也看到proftpd已经在运行了。担就是连不上,删除掉ISPCP的proftpd的配置文件,用回默认了便可以连接了。

看来是ISPCP中proftpd的配置问题,diff了两个proftpd.conf文件,差别很大,看来ispcp改到了很多的配置,找了好,最终把目光锁定在proftpd_mod_mysql这个配置中,发现它有连接数据库的配置以某用户名去连接mysql数据库。再检查数据库中的配置,原来mysql并没有创建proftpd配置文件中的用户。用去创建该用户即可连接到proftpd了。

GNOME3 字体更改

Gnome3 中,gnome-tweak-tool工具确实比较弱,有些鸡肋…只能修改一点点东西,包括字体的修改。

1、桌面,窗口等字体修改可以在gnome-tweak-tool中完成。

2、面板字体修改 /usr/share/gnome-shell/theme/gnome-shell.css,但好像不能直接用中文,可以UNICODE,不过,还是建议用英文字体名。

改完后重新载入gnome-shell,或重启X

编译chromium

以下内容从CB看到。也就是这里

编译chromium
基础环境准备
Subversion >= 1.4(提示:假如你使用的是tarball(压缩包格式),很难关注代码的改动,你需要1.5版本,我们以后会修复它的)(译者:Subversion是一种比CVS高级的版本控制软件)

pkg-config >= 0.20 (译者:pkg-config是开发用的库配置工具)

Python >= 2.4 (译者:Python编程语言,此处指Python环境,工具)

Perl > 5.x

gcc/g++ >= 4.2

bison >= 2.3 (译者:GNU bison语法分析转换工具?)

flex >= 2.5.34

gperf >= 3.0.3

libnss3-dev >= 3.12

ubuntu里用命令:  
sudo apt-get install subversion pkg-config python perl g++ bison flex gperf libnss3-dev
即可完成

然后是下载构建工具:
svn co http://src.chromium.org/svn/trunk/depot_tools/linux depot_tools

再配置构建工具:
$ export LANG=C
$ ./depot_tools/gclient config http://src.chromium.org/svn/trunk/src
会得到 release文件夹
$ ./depot_tools/gclient sync
得到src,这个过程很长,,,我到现在还没同步完,据说整个构建环境+chromium的源码,总共占用1.2G的空间。。。。。

完了之后,编译子集程序
third_party/scons/scons.py Hammer
结束后,可执行程序放在Hammer目录里。

建议:还是看看源码结构吧,大公司做的东西就是细致,虽然就几个牛人开发的,但对我们来说绝对是一个无法想象的浩大工程。

Google Chrome 源码下载地址 (Google Chrome Source Code Download)

  1. Google Chrome 源码 SVN 地址http://src.chromium.org/svn。包含有 Chrome、Gears、Webkit、GCC 等源码以及编译依赖工具。Chrome 浏览器项目的源码,位于目录 http://src.chromium.org/svn/trunk/src/chrome/
  2. Google Chrome 源码 Web 浏览地址http://src.chromium.org/viewvc/
  3. Google Chrome 所使用的 JavaScript V8 的源码下载地址http://code.google.com/p/v8/

看着这么大个,我就吓死了,本来还想试试的。。。

Ubuntu 9.04叫Jaunty Jackalope

Ubuntu创始人Mark Shuttleworth周一宣布了Ubuntu 9.04的代号,Jaunty Jackalope(得意的鹿角兔)。

Ubuntu发布的周期为6个月,9.04将于明年4月推出。Shuttleworth相信Ubuntu将能与Windows和Mac OS X展开竞争,他预计在接下来的一年中,这款开源Linux发行版将安装在1百万台机器上。在邮件列表中,他表示“兔子武士将是我们走进新一年的护身符,我们有理由期待Ubuntu将安装到数百万台机器上,有理由期待消费者的软件体验将比得上传统的软件供应商——微软和苹果。栏杆很高,但我们会抓住机会跳过它”。

传说中的得意洋洋的Jackalope就是这家伙:
Jackalope

      据Ubuntu创始人Mark Shuttleworth透露,Ubuntu
9.04将重点缩短系统启动时间,并更好地集成网络应用程序。他还表示,2009年会有几百万计算设备安装Ubuntu,这给他们带来了不小的压力,迫使
开发团队更好地改善系统质量,从各方面都不能输给微软Windows和苹果Mac OS。

Ubuntu历代开发代号一览:

  • 4.10 Warty Warthog
  • 5.04 Hoary Hedgehog
  • 5.10 Breezy Badger
  • 6.06 Dapper Drake
  • 6.10 Edgy Eft
  • 7.04 Feisty Fawn
  • 7.10 Gutsy Gibbon
  • 8.04 Hardy Heron
  • 8.10 Intrepid Ibex
  • 9.04 Jaunty Jackalope

僅作筆記

目錄:
前言
1.三個命令
2.Linux下J2SDK的配置

前言:
最近此人又開始抽瘋了,不幹正事,成天搗鼓一些毫無用處的東西。
一個字形容:賤;
兩個字形容:犯賤;
三個字形容:……。

1.三個命令

mkfontscale, mkfontdir, fc-cache -fv
mkfontscale和mkfontdir兩條命令,為X生成fonts.scale和fonts.dir兩個字體列表文件。
fc-cache -fv則是更新fontconfig的cache。
參考:http://wiki.ubuntu.org.cn/index.php?title=如何使用XP字体进行中文美化&variant=zh-cn
另:要使在字體列表文件中加入GBK支持,可以在mkfontscale時加入 -a gbk-0參數。

這仨命令是就是記不住,每要用到一次便GOOGLE一次。于是摘錄于此。
而實際上,這仨命令無非是幾個單詞的組合體。
其實Hardy的字體已經非常令人滿意了,可有些人就是抽瘋,要加入Windows的一些字體,于是…
小插曲:關于Ubuntu版本號,從我開始接觸的5.10開始。Breezy Badger(5.10),Dapper Drake(6.06),Edgy Eft(6.10),Feisty Fawn(7.04),Gutsy Gibbon(7.10),Hardy Heron(8.04),Intrepid Ibex(8.10)。或許9.04中會是一個以J開頭的動物單詞組合?

2.Linux下J2SDK的配置。
a.下載軟件包,從Sun公司網站:http://java.sun.com/j2se/1.5.0/download.jsp
b.給文件加上可執行權限,并運行之。

clare@CUbuntu:~/java$ chmod +x jdk-6u6-linux-i586.bin
clare@CUbuntu:~/java$ ./jdk-6u6-linux-i586.bin

完成之後,會生成一個“jdk1.6.0_06”文件夾,在當前目錄中。
c.將此目錄cp到想要放置此程式的目錄中,這裏我放到了/usr/java/下;
d.配置環境變量:
環境變量的配置有三種方法:修改/etc/profile,修改用戶的.bashrc文件以及直接在shell中修改。
我用了修改.bashrc的方法:

clare@CUbuntu:~$ cat .bashrc
export JAVA_HOME=/usr/java/jdk1.6.0_06
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin

e.測試OK。
另,在運行JAVA API的時候,沒能顯示中文字來。比如這個程序.

//TestFrame.java

import java.awt.*;
import javax.swing.*;

public class TestFrame extends JFrame {

    public TestFrame() {
        this.getContentPane().add(new JLabel("你好,JAVA!"));
        this.setSize(200,100);
        this.setTitle("你好,Java!");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }

    public static void main(String[] args) {
        TestFrame frame = new TestFrame();
    }
}

這個方法解決了。