分页: 1 / 1

单进程

发表于 : 2008-08-16 22:15
sinyadvan
我的:

代码: 全选

#!/bin/bash
#Usage: ./okill [process]
kill -15 $(ps x | sed '/'$1'/!d'|cut -d' ' -f2|sed '1d;$d')
:em05 根据ee的提示,改进:
说明:如果进程不存在,则执行程序,否则给予警告。

代码: 全选

#!/bin/bash
#Usage: ./jump [program]

UPS=$(basename $1)
if [ ! $(ps x |awk '{print $5}'|sed '/'$UPS'/!d') ]; then
exec $1
else
zenity --warning --text="已经启动了一个${1##*/}进程!"	
fi

发表于 : 2008-08-16 22:22
solcomo
arr=(`cat file | cut -b1`)

发表于 : 2008-08-16 22:24
eexpress
对这要求,不明白啊。
何谓多余的进程。

发表于 : 2008-08-16 22:33
sinyadvan
solcomo 写了:arr=(`cat file | cut -b1`)
我想检测进程名相同的,并将其pid存到一个数组里,以便kill用

eexpress 写了:对这要求,不明白啊。
何谓多余的进程。
比如说stardict这个程序
设定快捷键super+1
手不小心抖了一下,多按了好几下,打开了好几个,那么就要把其它多余的进程关了。
现在脚本还不能自动判断,不过也够用了。

发表于 : 2008-08-16 22:40
sinyadvan
amarok和stardict这些程序打开一个进程就够了,但是程序不能检测进程数。
理想是一个进程打开的情况下,再打开它时只呼出窗口。
如果我够NB的话就改源码了,但是现在火候不到,只能写脚本应付一下。

发表于 : 2008-08-16 22:55
eexpress
pgrep 判断就是。

你找 jump & exec 的脚本吧。

发表于 : 2008-08-16 22:59
yjcong
sinyadvan 写了:amarok和stardict这些程序打开一个进程就够了,但是程序不能检测进程数。
理想是一个进程打开的情况下,再打开它时只呼出窗口。
如果我够NB的话就改源码了,但是现在火候不到,只能写脚本应付一下。
你可以给作者发信, 让他们下次更新的时候, 实现这个功能。firefox就可以选择单窗口模式

发表于 : 2008-08-16 23:00
eexpress
7楼的,也看看6楼吧。