PHP程序员玩转Linux系列 使用supervisor实现守护进程
发布时间 - 2026-01-11 00:37:33 点击率:次PHP程序员玩转Linux系列文章:

1.PHP程序员玩转Linux系列-怎么安装使用CentOS
2.PHP程序员玩转Linux系列-lnmp环境的搭建
3.PHP程序员玩转Linux系列-搭建FTP代码开发环境
4.PHP程序员玩转Linux系列-备份还原MySQL
5.PHP程序员玩转Linux系列-自动备份与SVN
6.PHP程序员玩转Linux系列-Linux和Windows安装nginx
7.PHP程序员玩转Linux系列-nginx初学者引导
8.PHP程序员玩转Linux系列-Nginx中的HTTPS
首先遇到的问题是,部署nodejs的博客程序时,我把执行nodejs的命令放到后台,使用加&和nohup命令
如:nodejs index.js & 或者 nohup nodejs index.js &
&这个使用是当退出此次终端会话的时候就会停止, nohup这个命令理论上是可以后台一直执行的,但是当出现某些异常的时候,还是会退出.
进程的基础概念
进程是执行程序的过程.unix系统的老祖宗内核进程的ppid都是是0,比如:init进程的pid是1,ppid是0;其他进程都是从init进程的基础上fork出来的,使用pstree命令可以看到进程树
测试使用&实现一个后台进程,并把后台进程再转回到前台,下面是把进程放到后台,[1]这个是job的号
ping baidu.com > xx.txt &
把后台进程重新转到前台,%1的那个数字就是上面的job号
fg %1
如何使用nohup这个命令
nohup命令,这个命令是使进程忽略SIGHUP挂起(hangup)信号,测试如下:
nohup ping baidu.com > xx.txt &
进程信号如下:
01 SIGHUP 挂起(hangup)
02 SIGINT 中断,当用户从键盘按^c键或^break键时
03 SIGQUIT 退出,当用户从键盘按quit键时
04 SIGILL 非法指令
05 SIGTRAP 跟踪陷阱(trace trap),启动进程,跟踪代码的执行
06 SIGIOT IOT指令
07 SIGEMT EMT指令
08 SIGFPE 浮点运算溢出
09 SIGKILL 终止进程
10 SIGBUS 总线错误
11 SIGSEGV 段违例(segmentation violation),进程试图去访问其虚地址空间以外的位置
12 SIGSYS 系统调用中参数错,如系统调用号非法
13 SIGPIPE 向某个非读管道中写入数据
14 SIGALRM 闹钟。当某进程希望在某时间后接收信号时发此信号
15 SIGTERM 软件终止(software termination)
16 SIGUSR1 用户自定义信号1
17 SIGUSR2 用户自定义信号2
18 SIGCLD 某个子进程死
19 SIGPWR 电源故障
使用supervisor实现守护进程
守护进程,就是一直运行的收存周期很长的进程.使用supervisor可以实现这样的进程,该进程并且会在被杀掉的时候自动再次重启.
#安装supervisor yum install supervisor
在配置文件(/etc/supervisord.conf)配置一下:
program:nodejsblog 这里:后面的是个名字,可以随便起
command= 这里是要执行的命令
user= 这里是执行用户
[program:nodejsblog] command=/usr/bin/nodejs /var/www/html/nblog index.js user=root
开启 supervisord -c /etc/supervisord.conf
此时nodejs的守护进程也会随着启动了可以使用ps命令去查看一下,并且在你kill该进程的时候,会自动重启.
例如我这个例子中测试部署的nodejs网站http://nblog.qingguow.cn
与此相关的博文:
[nodejs] nodejs开发个人博客(七)后台登陆
[nodejs] nodejs开发个人博客(六)数据分页
[nodejs] nodejs开发个人博客(五)分配数据
[nodejs] nodejs开发个人博客(四)数据模型
[nodejs] nodejs开发个人博客(三)载入页面
[nodejs] nodejs开发个人博客(二)入口文件
[nodejs] nodejs开发个人博客(一)准备工作
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# supervisor
# 进程
# 玩转
# 博客
# 自定义
# 挂起
# 都是
# 就会
# 是个
# 也会
# 浮点
# 基础上
# 会在
# 是从
# 我把
# 转到
# 与此
# 可以看到
# 问题是
# 分页
# 可以使用
# 很长
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何在宝塔面板中修改默认建站目录?
Laravel如何处理表单验证?(Requests代码示例)
做企业网站制作流程,企业网站制作基本流程有哪些?
如何在云主机快速搭建网站站点?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何快速使用云服务器搭建个人网站?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel如何为API生成Swagger或OpenAPI文档
html5的keygen标签为什么废弃_替代方案说明【解答】
Swift中switch语句区间和元组模式匹配
php结合redis实现高并发下的抢购、秒杀功能的实例
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
网站制作软件有哪些,制图软件有哪些?
Laravel如何实现API版本控制_Laravel版本化API设计方案
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何用腾讯建站主机快速创建免费网站?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
iOS验证手机号的正则表达式
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
网站建设整体流程解析,建站其实很容易!
Thinkphp 中 distinct 的用法解析
Laravel如何实现用户密码重置功能?(完整流程代码)
如何在阿里云服务器自主搭建网站?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
南京网站制作费用,南京远驱官方网站?
Laravel如何创建自定义Artisan命令?(代码示例)
香港网站服务器数量如何影响SEO优化效果?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel如何发送系统通知?(Notification渠道示例)
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
再谈Python中的字符串与字符编码(推荐)
Laravel如何配置任务调度?(Cron Job示例)
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Laravel如何处理CORS跨域请求?(配置示例)

