初试supervisor

初试supervisor发现自己好像没有用过 supervisor 哎 所以就来用一用咯 正好想重学下 Bash 在 etc supervisor conf d 文件夹下面添加一个新的配置文件叫做 chshmod conf 内容如下 program chshmod command data cronpy changemod py data shcode 然后重启 supervisord 使用命令 etc init d s

发现自己好像没有用过supervisor哎。所以就来用一用咯。正好想重学下Bash。

/etc/supervisor/conf.d/文件夹下面添加一个新的配置文件叫做chshmod.conf
内容如下:

[program:chshmod] command=/data/cronpy/changemod.py /data/shcode/

然后重启supervisord 使用命令/etc/init.d/supervisor restart


chshmod FATAL command at '/data/cronpy/changemod.py' is not executable

说什么/data/cronpy/changemod.py not executeable
第一我的的首先想法 changemod.py的权限不对?是不是777的权限,如果不是,给个777的权限试下

root@ubuntu:/etc/supervisor/conf.d# ls -l /data/cronpy/changemod.py  -rw-r--r-- 1 root root 1295 1125 03:38 /data/cronpy/changemod.py

给个777的权限,然后重启下chshmod程序

root@ubuntu:/etc/supervisor/conf.d# supervisorctl chshmod FATAL command at '/data/cronpy/changemod.py' is not executable supervisor> restart chshmod chshmod: ERROR (not running) chshmod: ERROR (abnormal termination)

却发现还是有问题啊,wtf

supervisor> status chshmod FATAL Exited too quickly (process log may have details)

要我去找process log但是为什么 supervisorctl不能查看日志呢,怨念.

root@ubuntu:/etc/supervisor/conf.d# cd /var/log/supervisor/ chshmod-stderr---supervisor-WJDFyf.log chshmod-stdout---supervisor-N0iSUW.log supervisord.log root@ubuntu:/etc/supervisor/conf.d# cd /var/log/supervisor/ root@ubuntu:/var/log/supervisor# cat chshmod-stderr---supervisor-WJDFyf.log  supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned

这是什么意思啊,有病?

搜索一下呗。

搜索的结果,说好像是我配置有问题command写得有问题
听网上的意思是说把/data/cronpy/changemod.py /data/shcode/替换成/data/cronpy/changemod.py /data/shcode/

修改之后,再重启chshmod

root@ubuntu:/etc/supervisor/conf.d# supervisorctl  chshmod FATAL Exited too quickly (process log may have details) supervisor> restart chshmod chshmod: ERROR (not running) chshmod: ERROR (abnormal termination) supervisor> status chshmod BACKOFF Exited too quickly (process log may have details) 

还是有错啊,要报警了啊

错误日志如下:

supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned supervisor: couldn't exec /data/cronpy/changemod.py: ENOEXEC supervisor: child process was not spawned 

又是这个错误。


难道和我的py文件有关

# coding:utf-8 import logging import time import sys import os import sh from watchdog.events import LoggingEventHandler, FileSystemEventHandler __author__ = 'root' from watchdog.observers import Observer def is_file_hidden(path): basename = os.path.basename(path) return basename.startswith('.') class ChmodEventHandler(FileSystemEventHandler): def on_created(self, event): super(ChmodEventHandler, self).on_created(event) created_path = event.src_path if not is_file_hidden(created_path): sh.chmod('777', created_path) logging.info("{ech1}:change {0} mod to 777".format(created_path, self.__class__.__name__)) def chmod(path): observer = Observer() logging.basicConfig(level=logging.INFO, format='%(asctime)s-%(message)s', datefmt='%Y-%m-%d %H:%M:%S') logging_handler = LoggingEventHandler() observer.schedule(logging_handler, path, recursive=True) observer.schedule(ChmodEventHandler(), path, recursive=True) observer.start() try: while 1: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join() if __name__ == "__main__": path = sys.argv[1] if len(sys.argv) > 1 else '.' chmod(path) 

好像是没加执行环境的锅?
加上#!/usr/bin/python
再重启试一下:




supervisor> restart chshmod chshmod: ERROR (not running) chshmod: started supervisor> status chshmod chshmod RUNNING pid 5094, uptime 0:00:11 

好了!!

good job

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218910.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:11
下一篇 2026年3月17日 下午11:12


相关推荐

  • 安装特定版本的keras_Keras安装和配置指南(Windows)

    安装特定版本的keras_Keras安装和配置指南(Windows)声明本教程不得用于任何形式的商业用途 如果需要转载请与作者 SCP 173 联系 如果发现未经允许复制转载 将保留追求其法律责任的权利 这里需要说明一下 笔者不建议在 Windows 环境下进行深度学习的研究 一方面是因为 Windows 所对应的框架搭建的依赖过多 社区设定不完全 另一方面 Linux 系统下对显卡支持 内存释放以及存储空间调整等硬件功能支持较好 如果您对 Linux 环境感到陌生 并且大多数开发

    2026年3月16日
    2
  • 卷积神经网络(CNN)与深度卷积神经网络(DCNN)

    卷积神经网络(CNN)与深度卷积神经网络(DCNN)作为小白,看到DCNN,一直想知道与CNN的区别,也没找到明确的说法,以下是自己的一点想法,欢迎指正!目录一、CNN与DCNN二、基于pytorch的实现1.LeNet-52.AlexNet一、CNN与DCNN卷积神经网络,如:LeNet深度卷积神经网络,如:AlexNetAlexNet与LeNet结构类似,但使用了更多的卷积层和更大的参数空间来拟合大规模数据集ImageNet。卷积神经网络就是含卷积层的网络。AlexNet是浅层神经网络和深度神经网络的分界..

    2022年5月3日
    228
  • 2022最新前端vue面试题

    2022最新前端vue面试题一 自我介绍 我是谁来自哪里 今天来的目的 面试的岗位是什么 几年的工作经验 掌握的技术栈有哪些 开发过什么项目 项目中负责的板块是什么 面试官您好 我叫 XXX 来自 XXX 很荣幸能来我们公司面试 我从事前端开发有 3 年了 目前掌握的技术有 html css js ajax vue 小程序 参与过各种类型的项目 我做过的项目有 A B C D E 那么最近做的一个项目是 XXX 在这个项目中我主要负责的板块是 XXX 面试官您这边还有什么想要了解的么 二 项目功能提问 vue 后台项目 这几个功能点要求

    2026年3月20日
    2
  • postman安装使用教程_postman怎么使用

    postman安装使用教程_postman怎么使用目录第一部分:基础篇postman1.安装postman进入postman官网,如果是mac系统可以直接点击macapp安装第二部分:进阶篇1.使用自带的脚本对接口进行测试第一部分:基础篇postman1.安装postman进入postman官网,如果是mac系统可以直接点击macapp安装如果是windows的话,需要在windows下安装chrome浏览器,然后在地址栏输入chrome://extensions,勾选开发者模式然后将下载的postman插件解压,浏览器点击加

    2025年12月10日
    7
  • c51单片机流水灯程序汇编语言,基于51单片机的流水灯程序

    c51单片机流水灯程序汇编语言,基于51单片机的流水灯程序LED流水灯的开发在51单片机中再常见不过了,主要是让大家掌握IO的操作是单片机控制最基本的要求。根据开发流程,我们先查看选型的单片机的资源和控制寄存器,然后在软件上实现控制。在这里芯片我们采用STC15W404AS作为开发的硬件平台,在这里我们用该单片机的P1引脚来驱动LED实现流水灯的功能。如图是LED连接的硬件电路,可以看到8颗LED是阳极通过限流电阻共同连接到VCC上的,也就是说当LED…

    2022年5月7日
    78
  • vue.js打包后,接口安全问题

    vue.js打包后,接口安全问题

    2021年10月13日
    87

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号