Supervisor在python3的使用

supervisor 在python3下的简易解决方案 最近在弄一个简单的服务器,部署的时候发现supervisor不支持python3,但是我用的django又不支持python2,然后发现有virtualenv这个神器,下面就来介绍怎么在python3的环境下用virtualenv吧1. 安装pip install virtualenv2. 部署好服务器我用的是nginx+django 这里就不详细讲了,网上有许多教程这个教程是我觉得比较好的 ht 阅读详情

supervisor介绍

首先,介绍一下supervisor。Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制
环境:centos7.4

安装supervisor

pip install supervisor

因为是python开发的一个库,可以直接用pip来安装,很方便。
supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通信,发送管理进程的指令)、生成初始配置文件程序。

设置环境变量

$ vim ~/.bash_profile
#在后面补充: 
PATH=$PATH:$HOME/bin:/usr/local/python/bin
$ source ~/.bash_profile

配置supervisor

创建目录,初始化配置文件
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
主配置文件参数
[unix_http_server]
file=/tmp/supervisor.sock   ; UNIX socket 文件,supervisorctl 会使用
;chmod=0700                 ; socket 文件的 mode,默认是 0700
;chown=nobody:nogroup       ; socket 文件的 owner,格式: uid:gid
  
;[inet_http_server]         ; HTTP 服务器,提供 web 管理界面
;port=127.0.0.1:9001        ; Web 管理后台运行的 IP 和端口,如果开放到公网,需要注意安全性
;username=user              ; 登录管理后台的用户名
;password=123               ; 登录管理后台的密码
  
[supervisord]
logfile=/tmp/supervisord.log ; 日志文件,默认是 $CWD/supervisord.log
logfile_maxbytes=50MB        ; 日志文件大小,超出会 rotate,默认 50MB
logfile_backups=10           ; 日志文件保留备份数量默认 10
loglevel=info                ; 日志级别,默认 info,其它: debug,warn,trace
pidfile=/tmp/supervisord.pid ; pid 文件
nodaemon=false               ; 是否在前台启动,默认是 false,即以 daemon 的方式启动
minfds=1024                  ; 可以打开的文件描述符的最小值,默认 1024
minprocs=200                 ; 可以打开的进程数的最小值,默认 200
  
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
  
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; 通过 UNIX socket 连接 supervisord,路径与 unix_http_server 部分的 file 一致
;serverurl=http://127.0.0.1:9001 ; 通过 HTTP 的方式连接 supervisord
  
; 包含其他的配置文件
[include]
files = relative/directory/*.ini    ; 可以是 *.conf 或 *.ini

管理一个进程

把所有被管理的进程配置文件都放在同一个目录,主配置文件包含进去。

mkdir /etc/supervisor/config.d
vim /etc/supervisor/supervisord.conf
[include]
files = /etc/supervisor/config.d/*.conf
新建一个配置文件
[program:sougou]   #souogu 为程序的名称
command=scrapy crawl sougou #需要执行的命令
directory=/home/mzj/桌面/sougou/sougou/wechat_name/wechat_name/spiders  #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=root #用户
stopsignal=INT
autostart=true #是否自启动
autorestart=true #是否自动重启
startsecs=3 #自动重启时间间隔(s)
stderr_logfile=/home/mzj/桌面/sougou/sougou/wechat_name/wechat_name/spiders/ossoffical.err.log #错误日志文件
stdout_logfile=/home/mzj/桌面/sougou/sougou/wechat_name/wechat_name/spiders/ossoffical.out.log #输出日志文件
[program:nginx]
command = /usr/local/nginx/sbin/nginx -g 'daemon off;'
startsecs = 3
autostart = true
autorestart = true 
user = root
stdout_logfile = /etc/supervisor/logs/supervisord-nginx.log
stderr_logfile = /etc/supervisor/logs/supervisord-nginx-error.log

刚开始有个坑,command = /usr/local/nginx/sbin/nginx 我是这样写的 结果就一直启动nginx 因为这样的话 是后台运行的nginx,然而supervisor 不能管理后台运行进程,所以把nginx daemon off 守护关掉,就让他阻塞在前台bash运行,方便supervisor来管理。

supervisor配置文件详解

  • command:启动程序使用的命令,可以是绝对路径或者相对路径
  • process_name:一个python字符串表达式,用来表示supervisor进程启动的这个的名称,默认值是%(program_name)s
  • numprocs:Supervisor启动这个程序的多个实例,如果numprocs>1,则process_name的表达式必须包含%(process_num)s,默认是1
  • numprocs_start:一个int偏移值,当启动实例的时候用来计算numprocs的值
  • priority:权重,可以控制程序启动和关闭时的顺序,权重越低:越早启动,越晚关闭。默认值是999
  • autostart:如果设置为true,当supervisord启动的时候,进程会自动重启。
  • autorestart:值可以是false、true、unexpected。false:进程不会自动重启,unexpected:当程序退出时的退出码不是exitcodes中定义的时,进程会重启,true:进程会无条件重启当退出的时候。
  • startsecs:程序启动后等待多长时间后才认为程序启动成功
  • startretries:supervisord尝试启动一个程序时尝试的次数。默认是3
  • exitcodes:一个预期的退出返回码,默认是0,2。
  • stopsignal:当收到stop请求的时候,发送信号给程序,默认是TERM信号,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。
  • stopwaitsecs:在操作系统给supervisord发送SIGCHILD信号时等待的时间
  • stopasgroup:如果设置为true,则会使supervisor发送停止信号到整个进程组
  • killasgroup:如果设置为true,则在给程序发送SIGKILL信号的时候,会发送到整个进程组,它的子进程也会受到影响。
  • user:如果supervisord以root运行,则会使用这个设置用户启动子程序
  • redirect_stderr:如果设置为true,进程则会把标准错误输出到supervisord后台的标准输出文件描述符。
  • stdout_logfile:把进程的标准输出写入文件中,如果stdout_logfile没有设置或者设置为AUTO,则supervisor会自动选择一个文件位置。
  • stdout_logfile_maxbytes:标准输出log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小
  • stdout_logfile_backups:标准输出日志轮转备份的数量,默认是10,如果设置为0,则不备份
  • stdout_capture_maxbytes:当进程处于stderr capture mode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB
  • stdout_events_enabled:如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESS_LOG_STDERR事件会被触发
  • stderr_logfile:把进程的错误日志输出一个文件中,除非redirect_stderr参数被设置为true
  • stderr_logfile_maxbytes:错误log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小
  • stderr_logfile_backups:错误日志轮转备份的数量,默认是10,如果设置为0,则不备份
  • stderr_capture_maxbytes:当进程处于stderr capture mode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB
  • stderr_events_enabled:如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESS_LOG_STDERR事件会被触发
  • environment:一个k/v对的list列表
  • directory:supervisord在生成子进程的时候会切换到该目录
  • umask:设置进程的umask
  • serverurl:是否允许子进程和内部的HTTP服务通讯,如果设置为AUTO,supervisor会自动的构造一个url

启动supervisor

supervisord -c /etc/supervisor/supervisord.conf

有时候kill进程之后需要释放连接

unlink /tmp/supervisor.sock

web界面管理

开启web访问
vi /etc/supervisor/supervisord.conf
[inet_http_server]        
port=0.0.0.0:9001       
username=user            
password=123

web页面

此处需要注意将 [inet_http_server] 前边的注释也要去掉

supervisorctl的用法

  • supervisord : 启动supervisor
  • supervisorctl reload :修改完配置文件后重新启动supervisor
  • supervisorctl status :查看supervisor监管的进程状态
  • supervisorctl start 进程名 :启动XXX进程
  • supervisorctl stop 进程名 :停止XXX进程
  • supervisorctl stop all:停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
  • supervisorctl update:根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

superlance介绍

superlance就是基于supervisor的事件机制实现的一系列命令行的工具集,它实现了许多supervisor本身没有实现的实用的进程监控和管理的特性,包括内存监控,http接口监控,邮件和短信通知机制等。同样的,superlance本身也是使用python编写的
superlance的组件
superlance是一系列命令行工具的集合,其包括以下这些命令:

  • httpok 通过定时对一个HTTP接口进行GET请求,根据请求是否成功来判定一个进程是否处于正常状态,如果不正常则对进程进行重启。

  • crashmail 当一个进程意外退出时,发送邮件告警。

  • memmon 当一个进程的内存占用超过了设定阈值时,发送邮件告警。

  • crashmailbatch 类似于crashmail的告警,但是一段时间内的邮件将会被合成起来发送,以避免邮件轰炸。

  • fatalmailbatch 当一个进程没有成功启动多次后会进入FATAL状态,此时发送邮件告警。与crashmailbatch一样会进行合成报警。

  • crashsms 当一个进程意外退出时发送短信告警,这个短信也是通过email网关来发送的。
    1、当supervisord启动的时候,如果我们的listener配置为autostart=true的话,listener就会作为supervisor的子进程被启动。
    2、listener被启动之后,会向自己的stdout写一个"READY"的消息,此时父进程也就是supervisord读取到这条消息后,会认为listener处于就绪状态。
    3、listener处于就绪状态后,当supervisord产生的event在listener的配置的可接受的events中时,supervisord就会把该event发送给该listener。
    4、listener接收到event后,我们就可以根据event的head,body里面的数据,做一系列的处理了。我们根据event的内容,判断,提取,报警等等操作。
    5、该干的活都干完之后,listener需要向自己的stdout写一个消息"RESULTnOK",supervisord接受到这条消息后。就知道listener处理event完毕了。

Supervisord支持的Event

  • PROCESS_STATE 进程状态发生改变
  • PROCESS_STATE_STARTING
    进程状态从其他状态转换为正在启动(Supervisord的配置项中有startsecs配置项,
    是指程序启动时需要程序至少稳定运行x秒才认为程序运行正常,在这x秒中程序状态为正在启动)
  • PROCESS_STATE_RUNNING 进程状态由正在启动转换为正在运行
  • PROCESS_STATE_BACKOFF 进程状态由正在启动转换为失败
  • PROCESS_STATE_STOPPING 进程状态由正在运行转换为正在停止
  • PROCESS_STATE_EXITED 进程状态由正在运行转换为退出
  • PROCESS_STATE_STOPPED进程状态由正在停止转换为已经停止(exited和stopped的区别是exited是程序自行退出,而stopped为人为控制其退出)
  • PROCESS_STATE_FATAL 进程状态由正在运行转换为失败
  • PROCESS_STATE_UNKNOWN 未知的进程状态
  • REMOTE_COMMUNICATION 使用Supervisord的RPC接口与Supervisord进行通信
  • PROCESS_LOG 进程产生日志输出,包括标准输出和标准错误输出
  • PROCESS_LOG_STDOUT 进程产生标准输出
  • PROCESS_LOG_STDERR 进程产生标准错误输出
  • PROCESS_COMMUNICATION 进程的日志输出包含 和
  • PROCESS_COMMUNICATION_STDOUT 进程的标准输出包含 和
  • PROCESS_COMMUNICATION_STDERR进程的标准错误输出包含 和
  • SUPERVISOR_STATE_CHANGE_RUNNING Supervisord 启动
  • SUPERVISOR_STATE_CHANGE_STOPPING Supervisord 停止
  • TICK_5 每隔5秒触发
  • TICK_60 每隔60秒触发
  • TICK_3600 每隔3600触发
  • PROCESS_GROUP Supervisord的进程组发生变化
  • PROCESS_GROUP_ADDED 新增了Supervisord的进程组
  • PROCESS_GROUP_REMOVED 删除了Supervisord的进程组

安装superlance

也是python程序,直接pip 安装

pip install superlance

superlance实战

在实际配置supervisor使用superlance之前,首先要安装sendmail,superlance使用这个命令行工具来发送email,利用各种包管理工具都可以简单的安装:

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar zxvf sendEmail-v1.56.tar.gz
cp sendEmail-v1.56/sendEmail /usr/bin/sendemail

发邮件测试一下

sendemail -f 发件人邮箱 -t 收件人邮箱 -s 发件人邮箱smtp服务器 -u "sendEmail" -m "haha" -xu 发件人邮箱 -xp 发件人邮箱密码 
 
-f 发件人
-t 收件人
-s 发件人smtp服务器
-u 主题
-m 内容
-xu 发件人用户名
-xp 发件人密码

现在要做的就是配置一个supervisor配置文件,来一直监听进程的状态变化

[eventlistener:crashmail]
command=crashmail -a -s "sendemail -f dataalarm@wjoyxt.com -t alarm@wjoyxt.com -s smtp.mxhichina.com -u 'Process is crashed' -xu dataalarm@wjoyxt.com -xp Bigdata@2019@ -m >/dev/null 2>&1" -m alarm@wjoyxt.com
events=PROCESS_STATE_EXITED
redirect_stderr=false

或

[eventlistener:crashmail]
command=crashmail -a -s "mail -s 'Process is crashed' alarm@wjoyxt.com" -m alarm@wjoyxt.com
events=PROCESS_STATE_EXITED
redirect_stderr=false

command参数中 -p 参数配置了crashmail只会对名为redis的监控项作出响应,而 -m 参数中则配置了崩溃邮件会被发送到的地址,-a 监控所有项

crashmail是一个主管“事件监听器”,用于订阅PROCESS_STATE_EXITED事件。当crashmail 收到该事件并且转换是"意外的(not expected)"时,crashmail 会将电子邮件通知发送到已配置的地址

events=PROCESS_STATE_EXITED,PROCESS_STATE_STOPPED,PROCESS_STATE_FATAL,PROCESS_LOG_STDERR 多个事件时,用逗号隔开

PROCESS_STATE_EXITED是在一个supervisor的监控项对应的进程意外退出时会触发的事件,这就使得一个进程出现意外退出的情况下会通知到crashmail。

crashmail.py [-p processname] [-a] [-o string] [-m mail_address]
             [-s sendmail]网址

选项:

-p  - 指定supervisor process_name。这个过程发送邮件
      意外地转换到EXITED状态。如果这个过程是
      组的一部分,可以使用
      'process_name:group_name'语法。

-a  - 当supervisord的任何孩子过渡时发送邮件
      出人意料地意外地离开了EXITED状态。覆盖任何-p
      在同一个crashmail进程调用中传递的参数。

-o  - 指定用作邮件主题标题中前缀的参数。

-s  - 用于发送电子邮件的sendmail命令
      (例如“ / usr / sbin / sendmail - t - i ”)。必须是接受的命令
      stdin上的头和消息数据并发送邮件。默认是
      “ / usr / sbin / sendmail - t - i ”。

-m  - 指定电子邮件地址。该脚本将向此发送邮件
      crashmail检测到进程崩溃时的地址。如果没有电子邮件
      如果指定了地址,则不会发送电子邮件。

可以多次指定-p选项,允许
多个过程的规范。指定-a会覆盖任何
选择-p。

示例调用:

crashmail.py -p program1 -p group1:program2 -m dev@example.com

添加好一个进程配置文件后

supervisorctl reload

重启一下

整体示例代码
[program:eacloud]
command=/root/python/bin/uwsgi --ini uwsgi.ini ; 程序启动命令
directory=/root/tyy
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
startretries=3       ; 启动失败自动重试次数,默认是3
user=root            ; 用哪个用户启动进程,默认是root
priority=999         ; 进程启动优先级,默认999,值小的优先启动
redirect_stderr=true ; 把stderr重定向到stdout,默认false
stdout_logfile_maxbytes=20MB  ; stdout 日志文件大小,默认50MB
stdout_logfile_backups = 20   ; stdout 日志文件备份数,默认是10
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile=/root/tyy/eacloud.log
stopasgroup=false     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=false     ;默认为false,向进程组发送kill信号,包括子进程
[eventlistener:crashmail-exited]
command=/root/python/bin/crashmail -p eacloud -m 1524701427@qq.com
events=PROCESS_STATE
redirect_stderr=false
在python3环境使用Supervisor supervisor 是一个用python2 开发的 进程管理工具,我用了7/8年了,非常好用,最早是做搜索的时候5000台服务器上的程序都用它管理,一直用到现在 supervisor Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. It shares some of the same 阅读详情

相关推荐

linux下使用superisor监控进程

1. 安装 (1)apt安装 apt-get install supervisor (2) pip安装 pip install supervisor (3)easy_install安装 easy_install supervisor 2.supervisor配置文件 (1) /etc/supervisord.conf [unix_http_server] file=/tmp/supervisor.sock ;UNIX socket 文件,supervisorctl 会使用 ;chmod=0

starbxx的博客 811

Python3 supervisor 操作文档

supervisor 最新安装,配置,操作文档

qq_46273065的博客 732

使用supervisor来守护在anaconda的环境下运行的python进程的supervisor的安装与配置 Ubuntu + anaconda + python3.6 + supervisor

使用supervisor来守护在anaconda的环境下运行的python进程的supervisor的安装与配置 Ubuntu + anaconda + python3.6 + supervisor 先认识下什么是supeervisor?我们为什么要用它?用它来做什么? Supervisor是一个用Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是Python 进...

qq_36920008的博客 4209

Python实现的进程管理神器——Supervisor

Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启

XerCis的博客 1万+

使用 Supervisor 监控 Python 3 进程

使用 Supervisor 监控 Python 3 进程 首先说明,Supervisor 只能安装在 Python 2.x 环境中! 但是基本上所有的 Linux 都同时预装了 Python 2.x 和 Python 3.x 版本,并且调用 python 命令时默认运行的 Python 2,运行 Python 3 只需要 调用 python3 即可。 博主的 CentOS 上预装了 Pyth...

六开箱 2565

supervisor python_使用supervisor支持Python3程序 (解决找不到Module的问题)

Supervisor是python2写就的一款强大的运维工具(其实现在已经支持Python3了https://github.com/Supervisor/supervisor)那么怎么利用Supervisor监控python3程序呢?本文主要讲述Supervisor在CentOS下的安装部署。安装及设置可通过pip3安装,如果你已经是python3的pip3,可以用一下命令安装pip3 inst...

weixin_39643338的博客 654

python supervisor_使用 Supervisor 监控 Python3 进程方式

首先说明,Supervisor 只能安装在 Python 2.x 环境中!但是基本上所有的 Linux 都同时预装了 Python 2.x 和 Python 3.x 版本,并且调用 python 命令时默认运行的 Python 2,运行 Python 3 只需要 调用 python3 即可。博主的 CentOS 上预装了 Python 2.7 和 Python 3.5(后升级到了 3.7),并且将...

weixin_40000430的博客 154

在python2的环境下用supervisor来运行python3的web项目

安装配置什么的就不说了教程很多服务器是python2的(因为supervisor不支持python3) 项目是python3的,靠virtualenv来创建的虚拟环境。(项目名称AAA吧) 在服务器安装好supervisor之后 先通过下面的语句生成配置文件(路径就是AAA的根目录下)echo_supervisord_conf > supervisord.conf然后打开supervisord

wr166的博客 3774

【Flask】supervisor在python3不能使用的解决办法

文章目录supervisor目前依然不支持Python3(2019年02月20日)在Python3使用supervisor. 进程管理器… supervisor目前依然不支持Python3(2019年02月20日) 在部署flask的时候,发现 Supervisor requires Python 2.4 or later but does not work on any version ...

10相濡以沫 2659

使用 Supervisor 监控 Python3 进程方式

首先说明,Supervisor 只能安装在 Python 2.x 环境中! 但是基本上所有的 Linux 都同时预装了 Python 2.x 和 Python 3.x 版本,并且调用 python 命令时默认运行的 Python 2,运行 Python 3 只需要 调用 python3 即可。 博主的 CentOS 上预装了 Python 2.7 和 Python 3.5(后升级到了 3.7),并且将 Python 命令默认链接到 Python 3.7。 因此博主的环境是 python : python 3.7 版本 python2 : python 2.7 版本 pip : pip for

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

python3 supervisor 接口_Python3环境下supervisor安装

安装了supervisor3.2.0,在python3环境下启动会报错:pkg_resources.DistributionNotFound: The 'supervisor==3.2.0' distribution was not found and is required by the application解决方式:# pip install virtualenv# virtualenv -...

weixin_31991991的博客 463

从ATE到ATPG:基于Scan Chain的芯片制造缺陷定位实战解析

本文深入解析了从ATE到ATPG的芯片制造缺陷定位实战技术,重点介绍了Scan Chain的工作原理、异步复位触发器处理技巧以及Design Compiler中的DFT实现方法。通过实际案例展示了如何利用ATE测试数据和ATPG工具进行精确的缺陷定位,并分享了提升测试覆盖率和优化测试成本的专业技巧,为芯片测试工程师提供了宝贵的实战经验。

weixin_42527160的博客 378

python进程监控 supervisor_使用 Supervisor 监控 Python3 进程方式

首先说明,Supervisor 只能安装在 Python 2.x 环境中!但是基本上所有的 Linux 都同时预装了 Python 2.x 和 Python 3.x 版本,并且调用 python 命令时默认运行的 Python 2,运行 Python 3 只需要 调用 python3 即可。博主的 CentOS 上预装了 Python 2.7 和 Python 3.5(后升级到了 3.7),并且将...

weixin_39986027的博客 96

告别Modern Standby噩梦:Win11睡眠断网冻结的根源剖析与S3睡眠回归实战

本文深入剖析了Windows 11中Modern Standby(现代待机)模式导致睡眠后断网、系统冻结等问题的根源,指出其与硬件驱动、后台活动的兼容性矛盾。文章提供了通过修改注册表键值强制系统回归稳定S3睡眠状态的详细实战步骤,帮助用户彻底解决睡眠故障,实现可靠的远程访问与挂机任务。

weixin_29210727的博客 603

用Multisim仿真AD630锁定放大器:从2012年电赛A题实战到避坑指南

本文详细介绍了如何使用Multisim仿真AD630锁定放大器,从2012年电赛A题实战出发,提供完整的电路搭建、参数优化及避坑指南。重点解析AD630的开关调制架构和双相位检测的工程实现,帮助读者在强噪声背景下有效提取微弱信号,提升电子设计竞赛和工程实践中的信号处理能力。

weixin_42549451的博客 202

python3 supervisor api接口,Supervisor 基本使用

Supervisor准备工作安装python 3解压到安装目录:/data/soft/python3/python3进入安装目录执行:./configuremake && make installsudo ln -s /data/soft/python3/python3/bin/python3.8 /usr/bin/python3sudo ln -s /data/soft/pyth...

weixin_39669701的博客 1267

FRM模型五:Brinson业绩归因

利用Brinson对基金组合业绩进行归因分析。

stonesssssss的博客 3002

supervisor使用小计及Python与python3

supervisor supervisor 只支持在Python下运行 centos7安装: yum install epel-release yum install -y supervisor 在python3下启动supervisor python2 supervisorctl start xxx_uwsgi python2 python3软连接 python3切换到Python2: s...

qq_41783562的博客 482

产品经理必看!用Cursor自动生成符合开发规范的技术文档(含UI设计规则模板)

本文详细介绍了产品经理如何利用Cursor工具自动生成符合开发规范的技术文档,并整合UI设计规则模板。通过配置标准化文档结构和设计关联规则,Cursor能有效解决术语不统一、结构混乱等问题,提升跨团队协作效率。文章包含实际案例、规则配置要点及企业级实施方案,帮助产品经理快速掌握AI辅助文档生成技巧。

emacs5lisp的博客 219

GEE|基于时间序列特征的山东省玉米随机森林分类代码

主题思路: 本实验为二分类实验,分类目标包括:玉米、其他(建筑、水体、水稻、 裸地、森林、小麦、道路、大蒜等),采用人工设计的特征指数的时间序列特征为分类依据,选取分类器为:随机森林分类器,并选取样本集中 70%作为训练样本,30%作为测试样本,通过调整随机森林棵数,调整分类器结构。选取以下参数进行分类: ⚫ 时间尺度:1990 年 4 月 15 日 - 1990 年 9 月 30 日 ⚫ 空间尺度:山东省 ⚫ 影像融合时间间隔:16天 ⚫ 特征值选择:['nir','ndvi'...

weixin_46493028的博客 7466

Python supervisor在python3中的使用【转】

1、commad 后面还是要写好全路径,否则找不到,在log中会有错误提示。3、启动的进程ps-ef 是看不到的,包括那个应用程序名;4、如果没有启动成功,检查log文件,里面会有原因。2、 如果报sock错误,删掉这个文件就可以了;这个东西真的好用,慢慢学习中。以上可用,照着来就OK了。慢慢核算路,何时是尽头。

退休码农的自留地 272

【深度学习新浪潮】Nano Banana(Gemini 2.5 Flash Image)技术解析与开发者实操指南

重新定义了 AI 图像生成的产业标准。它不仅是“平民化的视觉工厂”,更是推动内容生产从“创意试错”转向“精准制造”的关键工具。未来,随着视频生成能力的加入(谷歌计划支持“文字指令 - 动态场景 - 多平台适配”全流程),Nano Banana 有望进一步颠覆影视、广告等领域的创作范式。:批量生成多场景图,模特姿态自然,服装褶皱和材质细节高度一致,节省 90% 拍摄成本。模型的非正式代号,是一款革命性的 AI 图像生成与编辑工具,主打。:生成细节丰富的厨师特写,光影自然,皮肤纹理和刀具反光逼真。

专注:太空算力、AI infra、异构调度、大模型成本工程 885

python3 supervisor_使用supervisor支持Python3程序 (解决找不到Module的问题)

Supervisor是python2写就的一款强大的运维工具(其实现在已经支持Python3了https://github.com/Supervisor/supervisor)那么怎么利用Supervisor监控python3程序呢?本文主要讲述Supervisor在CentOS下的安装部署。1. 安装及设置可通过pip3安装,如果你已经是python3的pip3,可以用一下命令安装pip3 i...

weixin_39769039的博客 371

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ubuntu python3 配置 supervisor

前言 supervisor 是一个非常方便的进程管理器,具体怎么方便百度上有很多,这里只是介绍一下在 ubuntu 系统下的 python3 安装和使用。 安装 安装命令 pip install supervisor 这里我的pip已经默认指向 python3 的 pip 了,因为 supervisor 已经支持 python3 了 然后执行 supervisord 命令来测试一下,不出意外,报...

Ginta的博客 1620

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux安装python3及supervisor

supervisor流程。python安装流程。

blackball9的博客 343

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: CentOS安装新版RabbitMQ解决Erlang 版本依赖
下一篇: 机器学习_第一天(特征工程:特征抽取+特征预处理+特征降维)
唐僧不爱八戒
博客等级 码龄9年 158粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值