2012-10-12 56 views
1

我有一个脚本(runcx)启动两个程序(cxLog和cx)。我希望能够杀死全乱了,所以我创建了一个脚本:为什么killall不能使用脚本?

50:/root # cat stop 
killall runcx 
killall cx 
killall cxLog 

但它不工作:

50:/root # ./stop 
: no process killed 
: no process killed 
: no process killed 

而个别命令执行:

50:/root # killall runcx 
50:/root # killall cx 
killall: Could not kill pid '256': No such process 
50:/root # 

(cx正在使用线程,并且在其父进程被终止时,pid'256'显然消失)

什么事情 在这?如何在没有打字的情况下杀死我的程序? 环境是Linux内核2.4.26和一个相当老的busybox版本。

回答

1

我在键入上述所有内容之后但在点击发布按钮之前已经想出了这一点。我用vim在PC上创建了脚本“stop”,默认的文件格式是dos。因此,killall试图杀死名为“runcx^M”,“cx^M”和“cxLog^M”的程序。我删除了^ Ms,脚本效果更好!

+0

大家知道,Unix命令'dos2unix'和'unix2dos'将在Unix和Windows格式之间转换ASCII文件,为您省去手动操作的麻烦。 – Gareth

+0

就像一个简单的“:set fileformat = unix”到vim。 – rich

相关问题