我想创建 shell 脚本文件
在第一行我想通过这个命令获取进程的 PIDnetstat -nlp | grep :3306
在第二个命令中我想终止进程kill $(PID)
但是我在运行脚本时发现此错误
`./docker.sh: line 2: PID: command not found
我如何从第一个命令中获取 PID 并提供给第二个命令`这是我的文件
netstat -nlp | grep :3306
kill $(PID)
docker start $(docker ps -a -q)
答案1
如何将输出传递给 awk 并使用系统调用来完成该作业,这里有一个回显第二个参数的示例。
ps -ef | grep python | grep grep | awk '{system("echo kill " $2)}' (这个会自杀)
您可以运行 netstat 命令并回显该参数,直到找到正确的值,例如 $1、$2 ...。然后删除回显,它将终止您的进程
netstat -nlp | grep :3306 | awk'{system("echo kill " $1)}'
您正在寻找的命令可能是 sudo netstat -nlp | grep :3306 | awk '{print $NF}' | awk -F "/" '{system("kill " $1)}'