【问题标题】:Bash not recognizing .pid fileBash 无法识别 .pid 文件
【发布时间】: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 可能已经从不同的目录启动了您的脚本?

标签: bash bamboo


【解决方案1】:

这个:

[xyz@kuthu bin]$ ./app.pid
bash: ./app.pid: Permission denied

表明您正在尝试执行 PID 文件本身。您应该改为使用 app.pid 作为参数来运行您的脚本。

【讨论】:

  • 是的,这两个文件输出和 ./app.pid - 我只是想分享。但是脚本我把pid文件路径作为输入
  • 如果cat 不起作用,那么您有一个严重的问题。如,该文件实际上并不存在,如果cat 说它不存在。您没有在此处发布足够的信息来了解问题所在,但这与您使用的路径有关。
  • cat 可以在 shell 中工作,但不能在 Bamboo 中执行。
  • cat是绝对路径还是相对路径?如果您的路径不是以 / 开头(即它是相对的),那么您可能不在您认为所在的目录中。
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 2012-01-14
  • 1970-01-01
  • 2016-01-22
  • 2010-10-05
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多