docker-compose down
有时会崩溃,留下繁忙的资源,从而无法完全卸载和重新安装Docker卷
我可以通过执行以下操作来手动解决此问题:
grep -l 12c8b1e0d711db12b /proc/*/mountinfo
给出:
/proc/12053/mountinfo
/proc/16127/mountinfo
...
/proc/16139/mountinfo
/proc/16192/mountinfo
等
每个数字现在都是我可以做的进程PID
kill -9 16139 12053 ... 16139
我正在尝试将其放入bash脚本中以帮助实现此过程的自动化。
问题:
我需要通过正确的正则表达式传递grep命令的输出,以解析出第二个参数(/ proc / 16192 / mountinfo的每一行中的int值)。
我需要将它们组合成一个空格分隔的字符串,最后将此字符串作为参数传递给kill
。
我不太确定如何在bash脚本中解决此问题
任何人和所有指针都欢迎
答案 0 :(得分:4)
您可以使用带有参数替换的直接bash脚本来提取进程ID,并将其放入数组中,然后在其上使用a
。
例如:
kill
答案 1 :(得分:0)
每当您发现自己想要解析grep,sed等的输出时,就应该真正考虑仅使用awk。
procs=$(awk '/12c8b1e0d711db12b/{split(FILENAME,f,"/"); print f[3]}' /proc/*/mountinfo)
[ -n "$procs" ] && kill -9 "$procs"