linux - Bash 脚本,通过从 PID 文件中提取来终止进程

标签 linux bash shell glassfish pid

这是我现在在 bash 脚本中的内容:

ps aux | grep glassfish | grep domain1 | gawk '{print $2}' | xargs kill -9

问题在于,如果其他人登录并拉取与 glassfish 相关的内容,它也会拉取该 PID。从而导致杀死错误的PID。

所以我的问题是如何修复我必须只提取正确的 PID,以及如何重写它以从 glassfish 生成的 PID 文件中提取 PID。

最佳答案

编辑启动 glassfish 的脚本并放置类似 echo $$ >/path/to/PID-file 的内容(这可以包含用于主目录或其他一些的 ~$USER 这样的机制来使用户特定)在紧跟在启动进程的行之后的行。然后,您可以使用 kill $(cat/path/to/PID-file) 终止正确的进程。

关于linux - Bash 脚本,通过从 PID 文件中提取来终止进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11672682/

相关文章:

linux - 在 bash 脚本中搜索子字符串将不起作用

linux - 剪切命令ubuntu

bash -\n 在 heredoc 中的变量中

linux - Linux 上的 shell 脚本

linux - 如何使用 shell 语言格式化文件中的行?

linux - 当您使用 "npm install -g"安装节点模块时,npm 将全局安装的文件放在哪里?

linux - 用文件名 linux 的一部分替换文件中的列

linux - 如何将 GCE 用户添加到保留成员身份的组?

linux - 使用别名到多个主机的 perl ssh 脚本

linux - 检查用户是否属于 sudo 组的脚本