出来我有这个脚本,只是杀死一个应用程序BASH - 奇怪的字符从管道
KEY_NAME=/some/path
kill `ps -ef | grep $KEY_NAME | grep -v grep | awk '{ print $2 }'`
exit 0
如果我手动编写kill命令因为比它的工作原理oneliner。但是我必须把它作为一个不起作用的脚本运行。所以,我试图调试它,这里是结果
[[email protected] logs]$ bash -x ./script.sh
+ KEY_NAME=/some/path
++ ps -ef
++ grep /some/path
++ grep -v grep
++ awk '{ print $2 }'
+ kill $'20557\r'
: arguments must be process or job IDs
+ exit 0
为什么我不断收到对kill
行那些奇怪的字符?我怎样才能摆脱他们?
如果将head -1添加到该管道,会发生什么情况? – alberge 2012-04-03 09:00:39
你尝试过'killall'吗?但是,如果你要杀死你自己的程序,[你可能想重新考虑](http://mywiki.wooledge.org/ProcessManagement)。 – l0b0 2012-04-03 09:00:58
@ l0b0我没有,我可能不会。我不想最终杀死比我应该拥有的更多流程...... – user219882 2012-04-03 09:11:40