linux 2.6的shell脚本中如何kill掉 sleep进程

来源:百度知道 编辑:UC知道 时间:2024/06/12 03:47:31
谁知道怎么kill掉sleep进程?否则获得它的pid存到变量中也行~~
我使用
kill -9 `pidof sleep`
来kill掉sleep的进程,但是它不让我kill,而且语句没有错误,执行完什么都不做~~~~
另外,pids=`ps -e | cut -c1-6`是把所有的进程pid都给前面变量了是不是?我现在机器运行程序后大约会出现20个左右的sleep~~能把他们一起放在一个变量里kill吗?也就是执行
pids=`ps -e |grep sleep |cut -c1-6`之后
kill -9 pids 会不会好用?

你是说找到系统中所有名字为sleep的进程ID,并且杀死它们,是吗?

我没有LINUX平台测试,我使用的HP-UX,下面的代码你可能需要适当调整才可以使用。

下面的命令可以找出系统中的所有进程:
ps -e

要查找所有名称为sleep的经常,有的系统可以给ps使用-n参数,例如:
ps -n sleep

但是通用一点的办法是在ps -e的结果里面grep,下面的命令即可:
ps -e | grep sleep

前面的ps命令输出了进程的ID、终端等信息,如果只需要ID内容,可以使用cut -c来获取,例如:
ps -e | cut -c1-6

获取上面输出的所有PID到内存变量的shell语句是:
pids=`ps -e | cut -c1-6`

加一个$试试
pids=`ps -e |grep sleep |cut -c1-6`
kill -9 $pids
不过我运行下列命令也可以,不知道你的问题是不是别的原因:
kill -9 `ps -e |grep sleep |cut -c1-6`

是不是权限不够呢?
试试在su环境下执行或在前面加上sudo

ps -e |grep sleep |cut -c1-6 |xargs kill -9