【问题标题】:status command not found in linux在linux中找不到状态命令
【发布时间】:2020-06-25 10:44:07
【问题描述】:

我在/etc/init/celery.config 位置有一个celery.config 文件,我可以运行status celerystart celerystop celery 之类的命令,这些命令在Linux 中按预期工作。

但是当我将这些命令放入 shell 脚本服务并运行 sh service.sh 时,我得到了错误 status: command not found

这是我的 service.sh 文件

#!/bin/bash

CELERYD=$(status celery)
echo"$CELERYD"

【问题讨论】:

  • 您确定这些命令是 Linux 可执行文件,而不是要从 python 运行的命令吗?
  • 首先发现命令是由'wich status'存储的,然后像'/usr/bin/status celery'一样添加它
  • @pifor 是的,这些是 Linux 可执行命令
  • 如果你创建了 celery 服务会更好

标签: linux bash celery sh centos7


【解决方案1】:

根据标签 - 你使用的是 CentOS 7。这个版本的 CentOS 默认使用 systemd,所以你可以考虑编写一个 systemd 服务脚本。但是,为了向后兼容,旧的service 命令仍然有效,如果您有适当的 init.d 脚本,service celery status 是查找有关celery 服务信息的正确方法。您提供的代码与可用的 SysV 初始化脚本相差甚远。最好的办法是选择 /etc/init.d 目录中的任何脚本(如果有的话 - 正如我提到的 CentOS 7 不再使用 SysV init)并将其用作 celery 的模板。

Celery 在其文档的Daemonizing 部分提供了有关如何使用 SysV 和 systemd 的信息,并附有一些示例的链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 2017-12-20
    • 2012-06-29
    • 1970-01-01
    • 2014-10-26
    • 2014-11-25
    相关资源
    最近更新 更多