我的系统是 Ubuntu 10
这是我的代码:
#!/bin/bash
pid = `ps -ef | grep process_string | /usr/bin/awk '{print $2}'`
`kill -9 $pid`
pid是process_string的进程id(只有一个匹配)
但是当我运行这个 sh 时,我不会终止进程
我该如何解决?
pid使用 的参数=和 的标准输出来执行ps -ef ...。kill -9 $pid,您不希望这样。$(...)比反引号更好用。 #!/bin/bash
pid=$(ps -ef | grep process_string | /usr/bin/awk '{print $2}')
kill -9 $pid
您可能希望使用pgrep来获取 pid,或者pkill直接killall按名称杀死(小心最后一个,因为名称暗示它将杀死命名程序的所有实例)。