1

我有一个启动两个程序(cxLog 和 cx)的脚本(runcx)。我希望能够杀死整个混乱,所以我创建了一个脚本:

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 版本。

4

1 回答 1

1

我在输入以上所有内容但在点击发布按钮之前发现了这一点。我使用 vim 在 PC 上创建了脚本“stop”,默认文件格式是 dos。因此,killall 试图杀死名为“runcx^M”、“cx^M”和“cxLog^M”的程序。我删除了 ^Ms,脚本运行得更好了!

于 2012-10-12T20:30:29.400 回答