UNIX -killing pid并在ksh中传递参数

时间:2013-12-26 12:52:11

标签: shell unix scripting ksh kill

我是UNIX新手。我想杀死文件“File_name”的pid,然后我必须运行“Recycle_All”脚本,默认情况下接受参数'y'。

#!/bin/ksh
ps -aef | grep "File_name" | awk '{print $2}' | xargs kill -9
/directory>./Recycle y
exit

我无法将'y'作为参数传递。 另外,我应该如何验证上面的命令已经杀死了pid。

错误是:

usage: kill [ -signo ] pid ...

./soap_rec.ksh[x]: ./Recycle_All: cannot create

1 个答案:

答案 0 :(得分:0)

注意:通过说*文件“文件名”的* pid *我猜你的意思是*在其参数列表中有“File_name”的进程的pid *

首先,你应该删除伪造的“/目录>”最后一行脚本的前缀(你打算用它做什么?)

最好写第一行:

  • 如果你没有“pkill”命令:

    ps -aef | awk '/File_name/ && ! /awk/ {system("kill -9 " $2)}' 
    
  • 如果你有:

    pkill -9 -f "File_name"