首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Ubuntu 18.04 安装使用 Supervisor 进程守护并设置开机自动启动

最近需要在 Ubuntu 上配置一下进程守护,因为有些进程必须一直运行,否则就比较尴尬。于是网上搜索了一下,比较原生的做法是使用 systemd 进行配置,但是看了下操作比较繁琐,于是搜到了 Supervisor。Supervisor(http://supervisord.org)是用 Python 开发的一个 client / server 服务,是 Linux / Unix 系统下的一个进程管理工具,不支持 Windows 系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用 Supervisor 管理的进程,当一个进程意外被杀死,Supervisord 监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写 shell 脚本来控制。

04

平滑重启你的后台TCP服务

后台业务一般都是通过TCP协议提供服务。服务难免需要版本升级,需要经历旧进程的退出和新进程的启动。为保证用户链接不异常中断,需要旧进程继续运行,直至处理完用户请求后再退出。这样才不会打断用户请求,这就是所谓的Graceful Shutdown:优雅退出。如果不做优雅退出,用户交互过程中任何一个步骤可能被升级打断,往小了有些不重要的业务,中断一下可以忍受,但如支付的基础服务,升级服务如果不支持优雅退出,造成大量用户掉线,进而造成恶劣的影响。所以对服务实现,不论对什么业务来说都是很有必要的。这也是为什么Go从1.8版本开始,标准库net/http对HTTPServer就添加了一个新的方法GracefulShutdown,使得进程可以把现有请求都处理完了再退出。

01

Linux中查看进程、杀死进程、进入进程的命令

1.查看进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序。     ps -A 显示所有程序。     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。     ps -e 此参数的效果和指定"A"参数相同。     ps e 列出程序时,显示每个程序所使用的环境变量。     ps f 用ASCII字符显示树状结构,表达程序间的相互关系。     ps -H 显示树状结构,表示程序间的相互关系。     ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。     ps s 采用程序信号的格式显示程序状况。     ps S 列出程序时,包括已中断的子程序资料。     ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。     ps u 以用户为主的格式来显示程序状况。     ps x 显示所有程序,不以终端机来区分。     最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。     ps aux | grep program_filter_word,ps -ef |grep tomcat  ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。  2.杀死进程    使用kill命令结束进程:kill xxx    常用:kill -9 324    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

03

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券