0

我试图通过这个 shell 脚本中的 ID 杀死一个进程。

# based on
# http://stackoverflow.com/questions/6437602/shell-script-to-get-the-process-id-on-linux
output=`ps -ax|grep Ad[o]be\ After\ Effects\ CS6`;
# set -- parses the ps output into words,
# and $1 is the first word on the line
# which happens to be the process ID
set -- $output;
pid=$1;
echo "I'm about to kill process " $pid;
killall -SEGV $pid;

但这给了我这个结果

No matching processes belonging to you were found  

当我使用相同的 ID 时,我的脚本会回显并直接执行命令,它会执行应有的操作。

kill -SEGV 50283  

那么有什么区别呢?我该怎么做才能让我的脚本表现得好像它在“我”的位置(我认为这是具有用户权限的东西)?

4

1 回答 1

1

在您的脚本中,您说killallwhich 按名称查找进程。在您的终端中,您说kill哪个需要 PID。前者是错误的,尽管可以说您应该在脚本中使用 killall 而不是自己实现类似的东西。

于 2013-02-17T09:09:06.290 回答