起因要从[Tomboy][]和同步说起,想同步两台电脑上tomboy的数据,“Start page”冲突也就算了,我用其他的,要命的是数据文件同步之后,tomboy必须要重新启动才能重新读取数据文件,所以要用ps x
找出tomboy进程,杀掉再重新启动,如果是使用默认的applet方式,gnome会自动提示是否重新加载的。总的ps x
命令如下:
ps x|grep -m1 tomboy|awk '{print $1}'| xargs -I'{}' kill '{}'
功能解释如下
ps x
就不用说了grep
是用来查找进程列表中带有tomboy
文字的,-m1
是只找出第一个匹配,因为第二个匹配会是ps x
本身awk
是用来打印第一列的xargs
中的-I
指定用'{}'
在kill
命令中来代表输入参数,在本例中可以省略的。
以上命令组合起来就可以比较“智能”的完成任务了,和find -exec
有些类似。
另外我发现tomboy的“Start Here”是不让删除的,不过把标题改一下就可以删了。。。
PS1: 发现hexdump可以以16进制形式显示文件内容,比如一个内容为01234567890的文件:
$ hexdump a
0000000 3130 3332 3534 3736 3938 0a30
000000c
注意这种默认的输出方式,字的高位可低位是反的,比如代表0的30就排在代表1的31的后面。也可以通过参数指定输出的方式,比如-b是逐字节按8进制输出:
$ hexdump a -b
0000000 060 061 062 063 064 065 066 067 070 071 060 012
000000c
-c是逐字符输出,转义字符会输出为\n
这种形式:
$ hexdump a -c
0000000 0 1 2 3 4 5 6 7 8 9 0 \\n
000000c
-C是16进制逐字输出,后面还显示原始字符,有点像Ultraedit里面的那种感觉:
$ hexdump a -C
00000000 30 31 32 33 34 35 36 37 38 39 30 0a |01234567890.|
0000000c
PS2: 今天在公交车上看新闻联播的时候在想,cctv的新闻联播有版权么?应该是有,那为何那么多地方电视台天天“转播”新闻联播,他们都交版权费了么?同样的还有纯洁春节晚会,天气预报,焦点访谈等等,都收点钱的话央视又能大赚一笔。
Update @ 2007-05-06
上述用xargs实现kill指定进程的方式纯属演示xargs的功能,杀指定进程用pkill pattern
更方便,甚至还支持正则表达式,感谢[fcicq](http://www.fcicq.net/wp/)。
喜欢你的站 🙂
这命令未免太长了,试试pkill process吧.