Bash 无法识别 .pid 文件
Posted
技术标签:
【中文标题】Bash 无法识别 .pid 文件【英文标题】:Bash not recognizing .pid file 【发布时间】:2015-01-06 05:13:14 【问题描述】:我有一个进程 pid 存储在文件“app.pid”中。但是我从 Bamboo 执行的下面的 bash 脚本没有找到该文件。我已多次验证文件“app.pid”是否存在。
#!/bin/bash
pidFile=$1
echo $pidFile
pid=$(<"$pidFile")
if [ -z "$pid" ]; then
echo "Pid not found!"
else
echo "Pid exists! killing lookup service!!"
kill $pid
fi
【问题讨论】:
尝试给出 pid 文件的完整路径?Bamboo
可能已经从不同的目录启动了您的脚本?
【参考方案1】:
这个:
[xyz@kuthu bin]$ ./app.pid
bash: ./app.pid: Permission denied
表明您正在尝试执行 PID 文件本身。您应该改为使用 app.pid
作为参数来运行您的脚本。
【讨论】:
是的,这两个文件输出和 ./app.pid - 我只是想分享。但是脚本我把pid文件路径作为输入 如果cat
不起作用,那么您有一个严重的问题。如,该文件实际上并不存在,如果cat
说它不存在。您没有在此处发布足够的信息来了解问题所在,但这与您使用的路径有关。
cat 可以在 shell 中工作,但不能在 Bamboo 中执行。
您cat
是绝对路径还是相对路径?如果您的路径不是以 /
开头(即它是相对的),那么您可能不在您认为所在的目录中。以上是关于Bash 无法识别 .pid 文件的主要内容,如果未能解决你的问题,请参考以下文章