我的系统是 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
按名称杀死(小心最后一个,因为名称暗示它将杀死命名程序的所有实例)。